Harmonia
Premium Jukebox Aura Plugin for Paper 1.21+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
22 Music Discs ◆ Potion Auras ◆ 13 Languages ◆ Config-Driven ◆ GUI Browser ◆ Disc Looping ◆ Permissions ◆ Paper 1.21
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
What Harmonia Does
Your jukeboxes sit silent. Your players collect music discs they never use because there is no reason to. A jukebox plays a song for a few minutes and then nothing. It is a vanity block at best, forgotten inventory clutter at worst.
Harmonia turns every jukebox into a buff station. Insert a music disc and the jukebox projects an aura. Every player inside the radius receives potion effects tied to that disc. Pigstep gives Strength. Cat gives Speed. Ward gives Resistance. Your jukeboxes go from decoration to infrastructure.
No commands. No economy. No gimmicks. Just vanilla potion effects delivered through a system that runs at tick-level performance with zero world scans.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Core Features
Every disc is configurable. Every aura is instant. Every mechanic is vanilla.
◆ All 22 Music Discs Supported
- Every vanilla disc from 13 to bounce, including pigstep, otherside, relic, creator, precipice, and tears
- Version-aware loading: discs unavailable on your server version are silently skipped with a console note
- Same config.yml works on Paper 1.21.0 through 1.21.4+ without edits
◆ Fully Configurable Per Disc
- Individual radius per disc in blocks
- Custom potion effect list with configurable amplifier levels
- Enable or disable any disc without deleting its configuration
- Optional per-disc permission locks for progression gating
◆ High-Performance Aura Engine
- Single repeating task at configurable tick rate, no per-tick block scanning
- Cached active jukebox list with O(1) lookups
- Chunk-aware cleanup on unload
- Zero world scans, zero memory leaks, zero tick spam
◆ Smart Disc Looping
- Each disc tracks its own play duration
- Restarts automatically two seconds before natural end
- Short discs like 11 (71s) loop sooner, long discs like blocks (345s) loop later
- Toggleable via config: loop forever or let discs finish naturally
◆ Paginated GUI Disc Browser
- /harmonia gui opens a multi-page inventory of every configured disc
- Each disc shows status, radius, effects, and how to obtain it in vanilla
- Click any disc to open a detail view with full effect breakdown
- Dynamic navigation adapts to any inventory size
- Permission-locked indicators show players what they can and cannot access
◆ Granular Permission System
- harmonia.use: receive any aura effect (default: true)
- harmonia.disc.pigstep: per-disc permission for progression
- harmonia.bypass.radius: receive effects regardless of distance
- harmonia.admin: inherits reload, gui, and bypass
- harmonia.gui: open the disc browser
◆ 13 Languages
- English, Polish, German, Spanish, French, Russian, Chinese, Italian, Portuguese, Japanese, Korean, Dutch, Turkish
- All GUI labels, messages, disc obtainment info, and notifications are translated
- New languages auto-extract from the JAR on update without overwriting your edits
- Switch language in config.yml and /harmonia reload
◆ Edge Case Handling
- Jukebox broken while playing: effects removed instantly, no lingering buffs
- Disc ejected mid-play: aura deactivates, all effects cleaned
- Player logs out: tracked effects cleared from memory
- Chunk unloaded: jukeboxes in that chunk deactivated
- Server restart: full cleanup on disable
- Fast disc swap: old effects removed, new disc effects applied immediately
◆ Update Checker
- Async GitHub release check on startup
- Admins notified on join when a new version is available
- Your config.yml and language files are never overwritten during updates
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Default Disc Effects[/CENTER]
| Disc | Radius | Effects | Disc | Radius | Effects |
| 13 | 18 | Slowness I, Weakness I | cat | 24 | Speed II, Jump Boost I |
| blocks | 22 | Haste II | chirp | 26 | Regeneration I |
| far | 30 | Speed I, Night Vision I | mall | 20 | Luck I |
| mellohi | 28 | Regeneration I, Resistance I | stal | 20 | Luck II, Speed I |
| strad | 24 | Water Breathing I, Dolphin's Grace I | ward | 16 | Strength I, Resistance II |
| 11 | 14 | Weakness II, Nausea I | wait | 22 | Resistance II, Slow Falling I |
| pigstep | 30 | Strength II, Resistance I, Speed I | otherside | 28 | Slow Falling I, Night Vision I, Regen I |
| creator | 26 | Haste II, Luck I | creator music box | 22 | Regeneration I, Absorption II |
| 5 | 20 | Invisibility I | relic | 24 | Haste I, Resistance I |
| precipice | 26 | Jump Boost II, Speed II | tears | 20 | Regeneration II |
| lava chicken | 22 | Fire Resistance I, Jump Boost II | bounce | 24 | Jump Boost III, Slow Falling I |
Every value above is the default. Change any disc's radius, effects, and amplifier levels in config.yml.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
How Harmonia Compares
How Harmonia Compares
| Feature | Harmonia | Typical Jukebox Plugin |
| Discs Supported | All 22 vanilla discs, version-aware | 8 to 12 discs, hardcoded materials |
| Performance | Single scheduled task, cached jukebox list, zero world scans | Per-tick block iteration, full world scans |
| Configuration | Per-disc radius, effects, amplifier, enable/disable | Global settings only, some effects hardcoded |
| Languages | 13 languages, auto-extract on update, full GUI and chat support | English only or hardcoded messages |
| Disc Looping | Smart per-disc timing, restarts before natural end | No looping or fixed interval restart with gaps |
| GUI | Paginated browser with detail view and obtainment info | Commands only or no GUI |
| Edge Cases | Break, eject, logout, chunk unload, fast swap, server restart | Unhandled: lingering effects, memory leaks, console errors |
| Permissions | Global and per-disc permissions with inheritance | Global only or no permission system |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Who This Is For
Who This Is For
- Survival and SMP servers Give players a reason to hunt music discs. Pigstep becomes a combat buff. Cat becomes a movement tool. Every disc has value beyond decoration.
- RPG and progression servers Lock discs behind permissions. Players unlock stronger auras as they progress. Ward requires a boss kill. Creator requires exploration. Build a reward system around jukeboxes.
- Community builders Place jukeboxes in community areas. Your spawn has Haste from blocks. Your farm has Speed from cat. Your PvP arena has Resistance from ward. Jukeboxes become infrastructure.
- Plugin enthusiasts Clean architecture, SOLID principles, zero deprecated API, full Adventure Component support. The codebase is built like a premium SaaS product because it is one.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Technical Specs
Technical Specs
| Server | Paper 1.21+, Java 21 |
| Dependencies | None. Pure Paper API. Zero external libraries. |
| API | Adventure Components, Registry-based potion lookup, PersistentDataContainer |
| Languages | 13 bundled (add your own via lang/*.yml) |
| Build | Gradle, Shadow plugin, Java 21 toolchain |
◆ Commands
| Command | Description | Permission |
| /harmonia | Show plugin info and version | None |
| /harmonia gui | Open the disc browser GUI | harmonia.gui |
| /harmonia reload | Hot-reload config and language files | harmonia.reload |
◆ Key Permissions
| Permission | Description | Default |
| harmonia.use | Receive aura effects from jukeboxes | true |
| harmonia.admin | Full access, inherits reload, gui, and bypass | op |
| harmonia.disc.* | Access all disc auras | true |
| harmonia.disc.pigstep | Access a specific disc's aura | true |
| harmonia.bypass.radius | Receive effects regardless of distance | false |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Get Harmonia
Your jukeboxes are currently doing nothing. Your players have stacks of music discs sitting in chests. Every one of those discs is a buff station waiting to happen.
Harmonia is the plugin that bridges the gap between a forgotten vanilla feature and a core part of your server's gameplay loop.
22 discs. 13 languages. Zero dependencies. Full GUI. Per-disc permissions. Smart looping.
Drop it in. Configure it. Watch your jukeboxes matter.
Questions? Open a discussion. Feature requests are reviewed.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Get Harmonia
Your jukeboxes are currently doing nothing. Your players have stacks of music discs sitting in chests. Every one of those discs is a buff station waiting to happen.
Harmonia is the plugin that bridges the gap between a forgotten vanilla feature and a core part of your server's gameplay loop.
22 discs. 13 languages. Zero dependencies. Full GUI. Per-disc permissions. Smart looping.
Drop it in. Configure it. Watch your jukeboxes matter.
Questions? Open a discussion. Feature requests are reviewed.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
