Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
MusicStudio
In-game music composition studio — compose songs in a tracker-style GUI, press them to music discs, and play them anywhere.
Features
- Tracker-style editor inside a 54-slot inventory GUI — a layers × ticks grid where you place, move, and delete notes
- 16 vanilla note block instruments, 25 pitches (F#3–F#5, two octaves)
- Per-layer instrument, volume, and mute control
- Adjustable tempo (ticks per cell)
- Copy / paste and in-editor preview playback (only you hear it)
- Press songs to music discs — right-click to play; the music follows the holder like a portable radio
- Optional extraction cost, ItemsAdder custom item support, and vanilla
glint/unbreakable/custom-model-data - Import Note Block Studio
.nbsfiles - Per-player song ownership — you only see and edit your own songs (admins see all)
- Full i18n (
ko_kr/en_us); every string is configurable with MiniMessage - Wide version support — Paper / Purpur 1.20.x – 1.21.x and 26.x
Supported Versions
A separate build is provided per Minecraft version under build/libs/Upload/<version>/. Each jar runs on both Paper and Purpur.
| Series | Versions |
|---|---|
| 1.20.x | 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6 |
| 1.21.x | 1.21, 1.21.1, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11 |
| 26.x | 26.1.2 |
1.20–1.20.4 require Java 17; 1.20.5 and up require Java 21; 26.x requires Java 25 — the same requirement as the underlying server.
Permissions
| Permission | Default | Grants |
|---|---|---|
musicstudio.use |
true (everyone) |
Create, edit, and play your own songs |
musicstudio.admin |
op |
Import .nbs, reload config, access all players' songs, bypass the per-player song limit |
Commands
Base command: /musicstudio (aliases: /음스, /음악스튜디오, /ms). Both Korean and English subcommands work.
Song Management
| Command | Description |
|---|---|
/ms create <name> (생성) |
Create a new empty song |
/ms list (목록) |
List your songs (all songs, if admin) |
/ms open <name> (열기) |
Open the song in the editor |
/ms rename <old> <new> (이름변경) |
Rename a song |
/ms disc <name> (음반) |
Press the song onto a music disc |
/ms delete <name> (삭제) |
Delete a song |
/ms help (도움말) |
Show help |
Admin
| Command | Description |
|---|---|
/ms admin import <file.nbs> (관리자 임포트) |
Import an .nbs from the import folder (no argument = list available files) |
/ms admin reload (관리자 리로드) |
Reload config, text, and song data |
Names may contain spaces (joined with
_) and are limited to 32 characters.
Editor Controls
The editor is an inventory GUI. Rows are layers, columns are ticks; the bottom rows hold the ruler and control bar.
| Target | Action |
|---|---|
| Empty cell | Left-click — create a note at the current pitch |
| Note | Left: select · Right: +1 semitone · Shift+Right: −1 semitone · Shift+Left: delete |
| Layer header | Left: change instrument · Right: toggle mute · Shift+Left/Right: volume ±10% · Q (drop): delete layer |
| Info (jukebox) | Left: pitch up · Right: pitch down · Shift: by octave — sets the pitch used for new notes |
| ◀ / ▶ tick | Scroll one tick · Shift: jump 8 ticks |
| ▲ / ▼ layer | Scroll layers up / down |
| ▶ preview / ■ stop | Preview the song to yourself / stop |
| ⚙ settings | Tempo and disc extraction |
| ⎘ copy / ⎙ paste | Copy the selection or current tick / paste at the current position |
| Music disc item | Right-click: play · right-click again: stop |
Instruments (16): Harp, Bass, Bass Drum, Snare, Hat, Guitar, Flute, Bell, Chime, Xylophone, Iron Xylophone, Cow Bell, Didgeridoo, Bit, Banjo, Pling.
Configuration
plugins/MusicStudio/config.yml:
language: ko_kr # ko_kr (Korean) or en_us (English); untranslated strings fall back to ko_kr
limits:
max-ticks: 4096 # maximum song length in cells
max-songs-per-player: 30 # per-player song cap (musicstudio.admin is exempt)
max-layers: 9 # layers per song (1–256)
disc:
material: MUSIC_DISC_5 # base vanilla music disc item
itemsadder-id: "" # ItemsAdder custom item id (e.g. "myitems:music_disc"); falls back to material
glint: false # enchantment glint
unbreakable: false
custom-model-data: 0 # resource-pack model id; 0 = none
cost:
enabled: false # charge an item to extract a disc
item: EMERALD
amount: 5
Display text lives in messages_<lang>.yml and gui_<lang>.yml (MiniMessage syntax) — edit them to fully reskin the plugin.
Examples
Create a song called mysong, open the editor, then press it to a disc:
/ms create mysong
/ms open mysong
/ms disc mysong
Import a Note Block Studio file (plugins/MusicStudio/import/song.nbs):
/ms admin import song
Switch the server to English: set language: en_us in config.yml, then:
/ms admin reload
Installation
- Pick the jar matching your Minecraft version from
build/libs/Upload/<version>/. - Drop it into your server's
plugins/folder. - Restart the server (Paper or Purpur).
Building from Source
./gradlew build # standard jar (build/libs)
./gradlew buildAllVersions # one jar per supported version into build/libs/Upload/<version>/
Requires JDK 21 and JDK 25 (the latter only for the 26.x target).


