{"id":131401,"date":"2026-06-07T20:54:47","date_gmt":"2026-06-07T17:54:47","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/regionmusic\/"},"modified":"2026-06-07T20:54:47","modified_gmt":"2026-06-07T17:54:47","slug":"regionmusic","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/regionmusic\/","title":{"rendered":"RegionMusic"},"content":{"rendered":"<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/O_vyFYO9Dw0\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/p>\n<p># RegionMusic<\/p>\n<p>A Paper\/Purpur plugin that plays configured music when a player enters WorldGuard regions (regions are typically created\/managed using WorldEdit + WorldGuard).<\/p>\n<p>## Requirements<\/p>\n<p>&#8211; Server: Paper\/Purpur (`api-version` in `plugin.yml`: `1.21`)<br \/>\n&#8211; Java: 21<br \/>\n&#8211; WorldGuard: 7.x (the plugin declares `depend: [WorldGuard]`)<br \/>\n&#8211; A client resource pack (if you use custom sounds like `namespace:key`)<\/p>\n<p>## Installation<\/p>\n<p>1. Put the plugin jar into `plugins\/`.<br \/>\n2. Make sure WorldGuard is installed and loads before RegionMusic.<br \/>\n3. Start the server once, edit `plugins\/RegionMusic\/config.yml`, then restart the server.<\/p>\n<p>## Region Selection (Important)<\/p>\n<p>If multiple WorldGuard regions apply at the player&#8217;s location, the plugin selects the **best** region like this:<\/p>\n<p>1. Only regions that have a config section `regions.<regionId>` in `config.yml` are considered.<br \/>\n2. The region with the highest WorldGuard `priority` wins.<br \/>\n3. If priorities are equal, the choice is stabilized by region `id` (alphabetical order).<\/p>\n<p>Music is played for that selected region.<\/p>\n<p>## Configuration<\/p>\n<p>File: `plugins\/RegionMusic\/config.yml`<\/p>\n<p>Minimal setup (1 track per region):<\/p>\n<p>&#8220;`yml<br \/>\nregions:<br \/>\n  spawn:<br \/>\n    sound: &#8220;msr:spawn_theme&#8221;<br \/>\n    category: &#8220;MUSIC&#8221;<br \/>\n    volume: 1.0<br \/>\n    pitch: 1.0<br \/>\n    stopOnExit: true<br \/>\n&#8220;`<\/p>\n<p>### Multiple Tracks (Shuffled, No Repeats Until Exhausted)<\/p>\n<p>You can define a playlist via `sounds:`. Tracks are played in a shuffled order **without repeats** until the list is exhausted, then the list is reshuffled.<\/p>\n<p>&#8220;`yml<br \/>\nregions:<br \/>\n  spawn:<br \/>\n    sounds:<br \/>\n      &#8211; &#8220;msr:spawn_theme&#8221;<br \/>\n      &#8211; &#8220;msr:hscene2&#8221;<br \/>\n      &#8211; &#8220;msr:hscene3&#8221;<br \/>\n    category: &#8220;MUSIC&#8221;<br \/>\n    volume: 1.0<br \/>\n    pitch: 1.0<br \/>\n    stopOnExit: true<br \/>\n&#8220;`<\/p>\n<p>### Continuous Playback (continuous)<\/p>\n<p>Paper\/Spigot does not provide a \u201csound finished\u201d event, so to automatically play the next track you must configure durations.<\/p>\n<p>&#8220;`yml<br \/>\nregions:<br \/>\n  spawn:<br \/>\n    sounds:<br \/>\n      &#8211; &#8220;msr:spawn_theme&#8221;<br \/>\n      &#8211; &#8220;msr:hscene2&#8221;<br \/>\n    category: &#8220;MUSIC&#8221;<\/p>\n<p>    continuous: true<br \/>\n    durations:<br \/>\n      &#8220;msr:spawn_theme&#8221;: 2400 # ticks (20 ticks = 1 second)<br \/>\n      &#8220;msr:hscene2&#8221;: 1360<br \/>\n    gapTicks: 0<br \/>\n    stopPreviousOnNext: true<br \/>\n&#8220;`<\/p>\n<p>Supported duration options:<\/p>\n<p>&#8211; `durationTicks`: default duration for any track in this region (ticks).<br \/>\n&#8211; `durationSeconds`: same, but in seconds.<br \/>\n&#8211; `durations:`: a map `soundKey -> ticks` (overrides the default per track).<\/p>\n<p>If durations are inaccurate:<\/p>\n<p>&#8211; Duration **longer** than the real track: you will get silence until the next track starts.<br \/>\n&#8211; Duration **shorter** than the real track: the next track starts early; with `stopPreviousOnNext: true` the previous track will be stopped (audible cut).<\/p>\n<p>### Repeat A Track N Times (repeats)<\/p>\n<p>You can force a given track to repeat N times consecutively before advancing to the next one:<\/p>\n<p>&#8220;`yml<br \/>\nregions:<br \/>\n  spawn:<br \/>\n    sounds:<br \/>\n      &#8211; &#8220;msr:spawn_theme&#8221;<br \/>\n      &#8211; &#8220;msr:hscene2&#8221;<br \/>\n    continuous: true<br \/>\n    durations:<br \/>\n      &#8220;msr:spawn_theme&#8221;: 2400<br \/>\n      &#8220;msr:hscene2&#8221;: 1360<br \/>\n    repeats:<br \/>\n      &#8220;msr:hscene2&#8221;: 3<br \/>\n&#8220;`<\/p>\n<p>Values `< 1` are treated as `1`.\n\n### Stop Vanilla Music On Enter\n\nTo prevent region music from overlapping vanilla background music, you can stop the `MUSIC` category on enter:\n\n```yml\nregions:\n  spawn:\n    stopVanillaMusicOnEnter: true\n```\n\nNotes:\n\n- Vanilla background music is client-side; the plugin does a best-effort stop of `SoundCategory.MUSIC`.\n- The region track is started on the next tick after stopping `MUSIC` to avoid rare client packet-order races.\n\n### Full Per-Region Options\n\n- `sound: string` - a single track (legacy).\n- `sounds: [string]` - a list of tracks (recommended).\n- `category: string` - Bukkit category (`MUSIC`, `RECORDS`, ...), default: `MUSIC`.\n- `volume: number` - default: `1.0`.\n- `pitch: number` - default: `1.0`.\n- `stopOnExit: boolean` - stop the currently playing track when leaving all configured regions, default: `true`.\n- `stopVanillaMusicOnEnter: boolean` - stop `SoundCategory.MUSIC` when entering, default: `true`.\n- `continuous: boolean` - keep playing the playlist while the player stays in the region, default: `false`.\n- `durationTicks: int` \/ `durationSeconds: number` - default duration for `continuous`.\n- `durations: { \"<soundKey>&#8220;: <ticks> }` &#8211; per-track durations (ticks).<br \/>\n&#8211; `gapTicks: int` &#8211; silence gap between tracks, default: `0`.<br \/>\n&#8211; `stopPreviousOnNext: boolean` &#8211; stop the previous track right before starting the next one, default: `true`.<br \/>\n&#8211; `repeats: { &#8220;<soundKey>&#8220;: <count> }` &#8211; repeat a specific track N times consecutively.<\/p>\n<p>## Resource Pack (Custom Sounds)<\/p>\n<p>If you use custom sounds like `msr:spawn_theme`, clients must have a resource pack enabled that contains:<\/p>\n<p>&#8211; `assets\/msr\/sounds.json` (or another namespace instead of `msr`)<br \/>\n&#8211; `assets\/msr\/sounds\/<name>.ogg`<\/p>\n<p>Important:<\/p>\n<p>&#8211; `.ogg` must be **Ogg Vorbis** (not an MP3 renamed to `.ogg`).<br \/>\n&#8211; `soundKey` must be **lowercase** (Minecraft `ResourceLocation` rule).<\/p>\n<p>Quick client-side test:<\/p>\n<p>&#8220;`<br \/>\n\/playsound msr:spawn_theme music @s ~ ~ ~ 1 1<br \/>\n&#8220;`<\/p>\n<p>If you get silence or an \u201cunknown soundEvent\u201d error, the issue is in the resource pack \/ key, not the plugin.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A Paper\/Purpur plugin that plays configured music when a player enters WorldGuard regions (regions are typically created\/managed using WorldEdit + WorldGuard).<\/p>\n","protected":false},"featured_media":131402,"template":"","meta":{"_minecraft_slug":"regionmusic","_minecraft_project_id":"9iVdgeRi","_minecraft_author":"Van1boy","_minecraft_license":"MIT","_minecraft_downloads":11,"_minecraft_follows":1,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"regionmusic.zip","_minecraft_size_bytes":15371,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-15T23:03:41.310423Z","_minecraft_date_created":"2026-04-29T04:09:37.169712Z","_minecraft_date_modified":"2026-04-19T16:54:26.027404Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/regionmusic","_minecraft_icon_attachment_id":131402,"_minecraft_imported_at":"2026-06-07T17:54:48+00:00","_minecraft_import_hash":"fe57c6662abe92ae8dbd98969e787434","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[87,89,126,866,127,128,92],"mod_loader":[132,133],"minecraft_version":[62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-131401","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-adventure","mod_category-game-mechanics","mod_category-management","mod_category-minigame","mod_category-paper","mod_category-purpur","mod_category-utility","mod_loader-paper","mod_loader-purpur","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>RegionMusic - 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\/regionmusic\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RegionMusic - Minecraft\" \/>\n<meta property=\"og:description\" content=\"A Paper\/Purpur plugin that plays configured music when a player enters WorldGuard regions (regions are typically created\/managed using WorldEdit + WorldGuard).\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/regionmusic\/\" \/>\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\\\/regionmusic\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/regionmusic\\\/\",\"name\":\"RegionMusic - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/regionmusic\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/regionmusic\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/regionmusic-icon-041b6d00d4dce11999b873326e0095c718ae0bd6_96.webp\",\"datePublished\":\"2026-06-07T17:54:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/regionmusic\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/regionmusic\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/regionmusic\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/regionmusic-icon-041b6d00d4dce11999b873326e0095c718ae0bd6_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/regionmusic-icon-041b6d00d4dce11999b873326e0095c718ae0bd6_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/regionmusic\\\/#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\":\"RegionMusic\"}]},{\"@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":"RegionMusic - 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\/regionmusic\/","og_locale":"en_US","og_type":"article","og_title":"RegionMusic - Minecraft","og_description":"A Paper\/Purpur plugin that plays configured music when a player enters WorldGuard regions (regions are typically created\/managed using WorldEdit + WorldGuard).","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/regionmusic\/","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\/regionmusic\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/regionmusic\/","name":"RegionMusic - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/regionmusic\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/regionmusic\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/regionmusic-icon-041b6d00d4dce11999b873326e0095c718ae0bd6_96.webp","datePublished":"2026-06-07T17:54:47+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/regionmusic\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/regionmusic\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/regionmusic\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/regionmusic-icon-041b6d00d4dce11999b873326e0095c718ae0bd6_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/regionmusic-icon-041b6d00d4dce11999b873326e0095c718ae0bd6_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/regionmusic\/#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":"RegionMusic"}]},{"@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\/131401","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\/131402"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=131401"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=131401"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=131401"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=131401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}