Notica

Notica

Mod

Play note block songs in the .nbs file format in-game! Works on servers and in singleplayer with vanilla compatibility. Optimizes song playback and extends Minecraft's note octave range.

Server Game MechanicsLibraryTechnologyUtility

669 downloads
9 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

Notica

A Fabric mod for playing note block songs in the .nbs file format to your players. This mod is vanilla compatible on the server-side, which means that vanilla players can join without this mod installed as well. Players with the mod installed benefit from reduced network-usage, as well as better playback quality.

Demo

Features

NBS file playback

Play any song created with Open Note Block Studio on a server or in single player. Place the .nbs files in the config/notica/songs directory. Use the /music play <song> [players] command to play a song.

Play a song with Notica

Note: This mod does not include any song files, you need download them yourself.

Clientside song playback

On a vanilla client connection, each note is sent to the player with a separate packet. This creates huge amounts of packets being sent, which causes lag and reduced playback quality.

However, if a player has the mod installed, the song notes are packed into chunks and sent in larger, but way less packets. This process is similar to video buffering.

Notica Server Client Architecture

Improved playback quality

Vanilla Minecraft has some limitations that impact the playback quality of songs. For one, notes can only be played in a certain octave range (F#3 to F#5). For another, sounds must have an integer position in the world, which causes audio artifacts when the player is moving during playback. Additionally, stereo panning of notes is significantly worse because note positions are clamped to the nearest integer values.

Clients with Notica installed do not have these limitations, as notes are played directly via OpenAL, the audio engine used by Minecraft: Java Edition. Song playback will thereby sound similar to the playback within Open Note Block Studio.

Custom instruments

Any Minecraft sound can be used as a custom instrument in .nbs files. Notica supports all custom instrument related features of the nbs file format specification (up to version 5).

Arbitrary song tempo

Much like other server-sided nbs players, Notica is not limited to specific song tempos. This mod makes sure that the song playback timings are accurate, by running song playbacks asynchronously. Packets are sent without server-thread synchronization, which would limit the tempo to 20 ticks per second again.

Song Looping

NBS format version 4 introduces loop-options like on/off, max loop count and loop start tick. This mod supports these options and will automatically loop accordingly.

Hint: If a song loops indefinitely, you can stop it using /music stop in-game.

Extended octave range

As mentioned earlier, Minecraft imposes a limit to the note pitch, limiting the octave range to F#3 until F#5. Modded players do not have this limitation, but vanilla players are still impacted. Notes outside the vanilla range will be transposed for vanilla players by default, so that can be played. Vanilla clients are still able to play notes outside the vanilla range, by installing the extended notes resource pack. The extra notes resource pack can be installed by using /music set extended_range true to enable the extended range playback (vanilla players only).

Similar projects

Developer API

Notica provides an API for developers so that other mods can use features from Notica. The API documentation can be found on GitHub.


Project members

LCLPYT

Member

Details

Licensed MIT
Published 6 months ago
Updated 2 months ago