{"id":122894,"date":"2026-06-07T08:28:22","date_gmt":"2026-06-07T05:28:22","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/playerwaypointcolors\/"},"modified":"2026-06-07T08:28:22","modified_gmt":"2026-06-07T05:28:22","slug":"playerwaypointcolors","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/playerwaypointcolors\/","title":{"rendered":"PlayerWaypointColors"},"content":{"rendered":"<p>## Overview<br \/>\nPlayerWaypointColors lets players set their own waypoint colors and lets admins set colors for other players. Optional PlaceholderAPI integration for automatic color assignment on join, exporting a player&#8217;s current color to other plugins (chat, scoreboards, etc.), and configurable server defaults.<\/p>\n<p>## Features<br \/>\n&#8211; Assign custom hex colors to player waypoints (e.g., `#FF0000` or `FF0000` for red)<br \/>\n&#8211; Simple commands for players and admins<br \/>\n&#8211; Configurable default color applied to players on join<br \/>\n&#8211; Optional PlaceholderAPI integration:<br \/>\n  &#8211; Read a player&#8217;s color from a placeholder on join (e.g., from LuckPerms meta)<br \/>\n  &#8211; Export the player&#8217;s current color via `%pwc_color_<format>%` so other plugins can use it (MiniMessage, hex, raw, legacy spigot, or any custom format you define)<\/p>\n<p>## Compatibility<br \/>\n&#8211; **Minecraft:** Spigot 1.21.11+ or Paper 1.21.11+<br \/>\n&#8211; **Optional:** PlaceholderAPI<\/p>\n<p>## Installation<br \/>\n1. Download the latest `PlayerWaypointColors.jar`.<br \/>\n2. Place it in your server&#8217;s `plugins` folder.<br \/>\n3. (Optional) Install PlaceholderAPI if you want PAPI features.<br \/>\n4. Start or reload your server.<\/p>\n<p>## Commands &#038; Permissions<br \/>\n| Command                                          | Description                                | Permission                  | Default |<br \/>\n|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;|<br \/>\n| `\/pwc help`                                      | Show help message                          | playerwaypointcolor.help    | all     |<br \/>\n| `\/pwc set <color|hex> [#hexcode]`               | Set your own waypoint color                | playerwaypointcolor.self    | OP      |<br \/>\n| `\/pwc setother <player> <color|hex> [#hexcode]` | Set another player&#8217;s waypoint color        | playerwaypointcolor.others  | OP      |<br \/>\n| `\/pwc get`                                       | Get your own waypoint color                | playerwaypointcolor.self    | OP      |<br \/>\n| `\/pwc get <player>`                              | Get another player&#8217;s waypoint color        | playerwaypointcolor.others  | OP      |<br \/>\n| `\/pwc reset`                                     | Reset your own waypoint color              | playerwaypointcolor.self    | OP      |<br \/>\n| `\/pwc reset <player>`                            | Reset another player&#8217;s waypoint color      | playerwaypointcolor.others  | OP      |<\/p>\n<p>## Configuration<br \/>\nThe plugin creates a `config.yml` file on first run. Existing files are upgraded in place when new options are added.<\/p>\n<p>Example config:<br \/>\n&#8220;`yaml<br \/>\nplaceholderapi:<br \/>\n  auto-apply-on-join: false<br \/>\n  variable: &#8220;&#8221;<br \/>\nplaceholders:<br \/>\n  formats:<br \/>\n    minimessage: &#8220;<#{HEX}>&#8221;<br \/>\n    hex: &#8220;#{HEX}&#8221;<br \/>\n    raw: &#8220;{HEX}&#8221;<br \/>\n    legacy: &#8220;&#038;x&#038;{R1}&#038;{R2}&#038;{G1}&#038;{G2}&#038;{B1}&#038;{B2}&#8221;<br \/>\ndefault-color: &#8220;&#8221;<br \/>\ndefault-color-force: false<br \/>\n&#8220;`<br \/>\n## PlaceholderAPI Integration<\/p>\n<p>PWC integrates with PlaceholderAPI in both directions: it can **read** a placeholder to assign a color on join, and it **exposes** its own placeholder so other plugins can read each player&#8217;s current color.<\/p>\n<p>### Reading colors from a placeholder (auto-apply on join)<\/p>\n<p>Set `variable` in config.yml to a placeholder (e.g., `%luckperms_meta_color%`) that returns a hex code in the format `#00FF00` or `00FF00`.<\/p>\n<p>The easiest setup uses LuckPerms meta:<br \/>\n1. Set the permission `meta.color.#FF0000` on a group<br \/>\n2. Set `auto-apply-on-join` to `true`<br \/>\n3. Set `variable` to `%luckperms_meta_color%`<br \/>\n4. Save config.yml and restart your server<\/p>\n<p>Alternatively, use the PlaceholderAPI String expansion (particularly `%string_replaceCharacters_<configuration>_<string>%`) to coerce another placeholder into a valid hex code.<\/p>\n<p>### Exposing a player&#8217;s current color to other plugins<\/p>\n<p>PWC registers `%pwc_color_<format>%` where `<format>` is any key under `placeholders.formats` in config.yml. Out of the box:<\/p>\n<p>| Placeholder               | Returns                   | Example          |<br \/>\n|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|<br \/>\n| `%pwc_color_minimessage%` | MiniMessage hex tag       | `<#FF0000>`      |<br \/>\n| `%pwc_color_hex%`         | hex with leading `#`      | `#FF0000`        |<br \/>\n| `%pwc_color_raw%`         | bare 6-character hex      | `FF0000`         |<br \/>\n| `%pwc_color_legacy%`      | Spigot legacy color codes | `&#038;x&#038;F&#038;F&#038;0&#038;0&#038;0&#038;0` |<\/p>\n<p>Add your own keys in config.yml to support whatever syntax your chat or scoreboard plugin needs. Templates can use these variables (case-sensitive):<\/p>\n<p>&#8211; `{HEX}` \u2014 uppercase 6-char hex (e.g. `FF0000`)<br \/>\n&#8211; `{hex}` \u2014 lowercase 6-char hex (e.g. `ff0000`)<br \/>\n&#8211; `{R1}` `{R2}` `{G1}` `{G2}` `{B1}` `{B2}` \u2014 each channel split into its two hex digits<\/p>\n<p>Example: a chat plugin using `<#hex>` MiniMessage syntax can format messages like `%pwc_color_minimessage%<player_name><\/...>` to color player names with each player&#8217;s chosen waypoint color.<\/p>\n<p>If a player hasn&#8217;t picked or been assigned a color, the placeholder returns an empty string regardless of the format requested.<\/p>\n<p>## Default Color on Join<\/p>\n<p>Set `default-color` to a hex value (e.g. `00FF00`) to apply that color to players who don&#8217;t already have one. Leave empty to disable.<\/p>\n<p>`default-color-force`:<br \/>\n&#8211; `false` (default): only applies the default if the player has no color set. Won&#8217;t overwrite a color they picked with `\/pwc set`.<br \/>\n&#8211; `true`: applies the default on every join, overwriting whatever color the player previously had \u2014 except a color set by `auto-apply-on-join` above, which always wins.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Manage 1.21.6+ player locator bar waypoint colors, and automatically set custom colors on join<\/p>\n","protected":false},"featured_media":122895,"template":"","meta":{"_minecraft_slug":"playerwaypointcolors","_minecraft_project_id":"2VlkAkjw","_minecraft_author":"hyperkids","_minecraft_license":"MIT","_minecraft_downloads":96,"_minecraft_follows":6,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"playerwaypointcolors.zip","_minecraft_size_bytes":3485647,"_minecraft_version_count":3,"_minecraft_updated_at":"2026-05-15T19:46:01.416570Z","_minecraft_date_created":"2025-07-11T05:13:34.789591Z","_minecraft_date_modified":"2026-05-02T12:46:20.050267Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/playerwaypointcolors","_minecraft_icon_attachment_id":122895,"_minecraft_imported_at":"2026-06-07T05:28:23+00:00","_minecraft_import_hash":"a4dbf5b584f5012bd67a4ac07fe9b03d","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[89,127,129,92],"mod_loader":[132,134],"minecraft_version":[40,41,79,80,81,82,83,167,163],"class_list":["post-122894","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-game-mechanics","mod_category-paper","mod_category-spigot","mod_category-utility","mod_loader-paper","mod_loader-spigot","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9","minecraft_version-26-1","minecraft_version-26-1-1","minecraft_version-26-1-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PlayerWaypointColors - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/playerwaypointcolors\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PlayerWaypointColors - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Manage 1.21.6+ player locator bar waypoint colors, and automatically set custom colors on join\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/playerwaypointcolors\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/playerwaypointcolors\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/playerwaypointcolors\\\/\",\"name\":\"PlayerWaypointColors - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/playerwaypointcolors\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/playerwaypointcolors\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/playerwaypointcolors-icon-7d50a1d535213b511ac5a928e185c790687ded62.png\",\"datePublished\":\"2026-06-07T05:28:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/playerwaypointcolors\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/playerwaypointcolors\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/playerwaypointcolors\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/playerwaypointcolors-icon-7d50a1d535213b511ac5a928e185c790687ded62.png\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/playerwaypointcolors-icon-7d50a1d535213b511ac5a928e185c790687ded62.png\",\"width\":128,\"height\":128},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/playerwaypointcolors\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"PlayerWaypointColors\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PlayerWaypointColors - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/playerwaypointcolors\/","og_locale":"en_US","og_type":"article","og_title":"PlayerWaypointColors - Minecraft","og_description":"Manage 1.21.6+ player locator bar waypoint colors, and automatically set custom colors on join","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/playerwaypointcolors\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/playerwaypointcolors\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/playerwaypointcolors\/","name":"PlayerWaypointColors - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/playerwaypointcolors\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/playerwaypointcolors\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/playerwaypointcolors-icon-7d50a1d535213b511ac5a928e185c790687ded62.png","datePublished":"2026-06-07T05:28:22+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/playerwaypointcolors\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/playerwaypointcolors\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/playerwaypointcolors\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/playerwaypointcolors-icon-7d50a1d535213b511ac5a928e185c790687ded62.png","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/playerwaypointcolors-icon-7d50a1d535213b511ac5a928e185c790687ded62.png","width":128,"height":128},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/playerwaypointcolors\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"PlayerWaypointColors"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/122894","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/122895"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=122894"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=122894"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=122894"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=122894"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}