peyaj's CustomDiscs
2.6Custom music disc plugin for Paper servers. Upload any audio file, get a playable disc.
2.6latestpeyaj's CustomDiscs 2.63 days ago Changes
- Region Playlists: You can now add multiple songs to a single WorldGuard region instead of just one. - Track Shuffling: Playlists can play in order or shuffled randomly. Shuffle keeps track of what already played so it won't repeat songs until the whole playlist finishes. - Smoother Music Transitions: When a song finishes, the next song starts playing automatically and shows its title on the action bar. Walking between connected regions that share the same track won't restart the song from the beginning anymore. - Overlapping Region Fix: If you have regions inside other regions (like a shop inside a town), the higher priority WorldGuard region will now correctly take over the music. - New Region Commands: -/disc region add <region> <disc>to add a song to a region playlist. -/disc region shuffle <region> [on|off|toggle]to toggle shuffle. -/disc region remove <region> [disc]to remove a specific track from a playlist. -/disc region listto see all your regions, playlists, and shuffle settings.2.5peyaj's CustomDiscs 2.5Sep 25, 2026 Key Changes
- Minecraft 26.3 Support: Full compatibility for Minecraft 26.3 on Paper and Fabric. - Custom discs now automatically eject when playback ends if loop mode is off (configurable viajukebox.auto-ejectinconfig.yml). - Resolved silence when entering stereo-enabled regions. - Fully backward compatible with versions 2.0 to 2.4. Existing configurations, discs, and resource packs update automatically on startup with no manual steps needed. -/disc reloadnow force-rebuilds and pushes the latest resource pack to connected players immediately.2.4peyaj's CustomDiscs 2.4Sep 20, 2026 What's New in v2.4
- WorldGuard regions now play rich 2-channel stereo background music (BGM). Turning your head or walking around no longer causes awkward audio panning in regions. - Jukeboxes remain strictly mono so authentic 3D spatial block audio, direction, and distance falloff are never broken. - Choose whether region music repeats continuously or plays once upon entry. - Bind custom discs to regions instantly by holding the disc in your hand. - Enhanced Bedrock player detection across BungeeCord and Velocity setups using Geyser and Floodgate.Command Tutorials
#### 1. Set Region Music (Handheld Shortcut) Hold any custom disc in your main hand and run:
The plugin automatically detects the disc you are holding and binds it to the region with looping and stereo enabled by default. #### 2. Set Region Music (Manual Command) To specify a disc ID, loop setting, and stereo setting directly:/disc region add <region_name>
Example:/disc region set <region_name> <disc_id> [loop: on|off] [stereo: on|off]
#### 3. Toggle or Set Music Looping Control whether a region repeats its track or plays once on entry:/disc region set spawn chill_vibes on on
Examples: -/disc region loop <region_name> [on|off|toggle]/disc region loop spawn— Toggles repeat on or off like a light switch. -/disc region loop spawn on— Music loops continuously while players are inside. -/disc region loop boss_arena off— Music plays once when players enter and does not loop. #### 4. Toggle or Set Stereo Audio Switch between 2-channel stereo background audio and mono spatial audio:
Examples: -/disc region stereo <region_name> [on|off|toggle]/disc region stereo spawn— Toggles stereo on or off. -/disc region stereo spawn on— Enables rich 2-channel stereo background music. -/disc region stereo spawn off— Changes region to mono spatial audio. #### 5. View Region Configurations Check which discs, loop settings, and stereo modes are assigned to regions:
Displays:/disc region listspawn → chill_vibes [Loop: ON] [Stereo: ON] boss_arena → battle_theme [Loop: OFF] [Stereo: ON]2.3peyaj's CustomDiscs 2.3Sep 15, 2026 - version parity to fabric, no changes was made.2.2.3-HOTFIXpeyaj's CustomDiscs 2.2.3-HOTFIXAug 14, 2026 Bug Fixes & Enhancements
- Fixed Java Pack Downloading on 1.21.11 & Below - Restored Vanilla & Modded Disc Playback: Removed unnecessary PacketEvents sound listener that was intercepting and cancelling sound effects for all non-plugin discs (vanilla discs, Forge/Fabric modded discs, and third-party custom discs). - Disabled Debug Log Spam - Automatic Config Migration: Existing config.yml files are now automatically updated with new options on startup while preserving all custom values.2.2.2peyaj's CustomDiscs 2.2.2Aug 13, 2026 Bug Fixes & Enhancements
- Fixed Server Resource Pack Overwrite Bug: Resolved a critical issue where the plugin's auto-generated resource pack would forcefully overwrite and delete the server's primary resource pack (from server.properties, ItemsAdder, or Oraxen) upon a player joining the server. - Dedicated Pack UUID Assignment: Assigned a deterministic persistent Pack ID to the custom disc pack, ensuring that future runtime updates automatically overwrite only the disc layer without spawning duplicate packs in the client. - Fixed Java Edition Audio Range: Fixed a severe calculation bug that caused Java players to hear custom music discs blasting at 100% max volume over massive distances (up to 192+ blocks). The audio now correctly and smoothly fades out linearly from the jukebox source based exactly on thejukebox.rangesetting in your config! (Note: You will need to regenerate your resource pack for the smooth fade-out fix to take effect).Configuration Updates
We have added a brand new resource-pack section to config.yml allowing server owners to fully customize Java pack delivery settings: - replace-existing: false (Default) - Safely layer the pack instead of purging existing server packs. - send-on-join: true - Toggle whether players are prompted on login. - prompt - Configure a custom MiniMessage prompt (e.g.<gold>Download Custom Discs</gold>) - required - Enforce mandatory pack download.2.2.1peyaj's CustomDiscs 2.2.1Jul 31, 2026 v2.2.1
Bug Fixes & Enhancements
- Fixed Java Jukebox Interactions: Resolved a critical bug where custom discs would instantly eject when inserted by a Java player, resulting in ghost music playing indefinitely and holograms failing to display. - Fixed Disc Deletion on Jukebox Break: Breaking a jukebox or blowing it up with a Creeper/TNT will now properly drop the custom disc item natively instead of voiding it. - Fixed PacketEvents NPE on Purpur/Forks: The plugin now dynamically injects explicit Minecraft version definitions for non-standard Paper forks (such as Purpur), preventing a NullPointerException thrown by PacketEvents during initialization. - Hologram Transparency Fix: Fixed a severe visual bug where translucent blocks like Water, Ice, and Stained Glass would become entirely invisible (culled) when viewed through a Jukebox hologram. - Optimized Geyser Boot Cycle: Refactored the geyser reload cycle. The plugin will no longer forcefully reload Geyser's packs during initial server startup, preventing severe boot stutters. Pack updates are now restricted exclusively to runtime generation.2.2peyaj's CustomDiscs 2.2Jul 30, 2026 v2.2 Changelog
Important Fixes for Bedrock & Geyser
- (Fixes #2: Vanilla Music disks dont have any sounds to them after plugin install) Changed the internal base item of custom discs frommusic_disc_XXtopaper. This permanently bypasses a known Geyser client-side prediction bug, entirely fixing the double-audio overlap and vanilla disk muting issues when Bedrock players insert discs. - (Fixes #1: Bedrock resource packs needs version bump in manifest.json on adding new tracks) Implemented automatic version array bumping for the Bedrockmanifest.jsonwhenever tracks are added/removed. This properly forces Bedrock clients to download the newest pack! - Fixed a bug where Bedrock (Geyser) players would trigger uncontrollable music if they right-clicked an active Jukebox while holding a vanilla disc. - Significantly increased the Bedrock sound playback range! Bedrock volume multipliers are now hardcoded to be exactly 4x of the Java range, meaning Bedrock players can walk much further away before the music fades out, keeping it perfectly consistent with Java clients. - Addedauto-reload-geysertoconfig.yml. When enabled, the plugin automatically reloads Geyser's mappings internally when a disc is added or deleted. Bedrock players only need to disconnect and reconnect to fetch the updated packs; full server restarts are no longer required for most disc updates.Vanilla Mechanics Parity & Dupe Fixes
- Modified Jukebox ejection logic. Right-clicking an active Jukebox with any item (including another disc) will now strictly stop the music and eject the current disc to match vanilla Minecraft behavior 1:1. - Fixed a severe item duplication bug that could occur when forcefully swapping a custom disc into a Jukebox that contained a vanilla disc. - Reduced the default Java Jukebox attenuation range from 64 blocks down to 48 blocks for a more balanced fade-out distance. - Ensured custom discs drop naturally from the Jukebox inventory when the block is physically broken.Optimizations & Cleanups
- Added SHA-1 hash caching for Java resource pack generation. The plugin now skips rebuilding the resource pack on server startup unless a disc was actually modified, preventing unnecessary pack download prompts for players. - Integrated bStats metrics tracking. - Added a support for PurpurMC2.1peyaj's CustomDiscs 2.1Jul 16, 2026 v2.1 Changelog
Added
- Added the /disc add <id> <url> <name> <author> [style] command to download and convert audio files asynchronously from a URL in the background. - Added the /disc delete <id> and /disc remove <id> commands to completely remove custom discs and their audio files. - Added tab completion support for the new add and delete commands. - Added a search filter button in the /disc catalog menu that closes the GUI and lets players type a query in chat to filter discs. - Added a local audio preview feature: middle-click or right-click any disc in the catalog to hear a 15-second preview locally. - Added auto-allocation of unique CustomModelData IDs for custom discs starting at 10001. - Added automatic texture overrides: if a custom PNG is placed at plugins/peyajCustomDisc/discs/<discId>.png, the plugin will automatically generate item model JSON files inside the resource pack. - Added style-matching particles (flames, sculk, enchant table glyphs, and water splashes) that spawn above active jukeboxes depending on the music style playing. - Added bStats metrics tracking to monitor server usage stats.Changed & Fixed
- Updated config.yml with options to configure custom sound volume, pitch, category, display range, and local preview durations. - Enhanced item stack lore displays to include Artist, Duration, Style, and description notes dynamically.2.0peyajCustomDisc 2.0Jul 4, 2026 v2.0 - Minecraft 26.2 Compatibility Update
This update introduces full compatibility with the latest Minecraft and Paper versions (26.x through 26.2).Key Improvements & Updates
Minecraft 26.2 & Paper 26.x Support:* Recompiled and verified against the latest Paper API. Java 25 (JDK 25) Runtime Compatibility:* Upgraded codebase targets and compilation tools to utilize Java 25 compatibility, matching the new Paper server runtime requirements. API Adjustments:* Internal alignment of text formatting APIs (Kyori Adventure) to prevent target validation conflicts and compile issues on modern server builds. Workspace Optimization:* Cleaned up compilation remnants and minor internal optimizations for better overall reliability.Requirements
Server Software:* PaperMC 26.1+ or newer. Java Version:* Java 25 (JDK 25) or newer is now required to run this release.1.0peyajCustomDisc 1.0Feb 28, 2026 v1.0
FIRST RELEASE OF THIS PLUGIN, ALL THE FEATURES ARE IN README AND BUGS ARE EXPECTED.
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta