跳到正文

Nota

作者:PinkGoosik

Port of the NoteBlock API for fabric, play .nbs files as noteblock sounds.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

Nota

Port of the NoteBlock API for fabric, play .nbs files as noteblock sounds.
This port is not complete replica, some features are missing or unfinished.
You can find original spigot plugin here.
This library can be used server-side only or in singleplayer.

Example

Development

Adding to your project

To use Nota in your project add the Modrinth repository to your build file and a mod dependency. Replace the VERSION_TAG with the latest version, for example 0.1.0+1.19

repositories {
    maven {
        url "https://api.modrinth.com/maven"
        content { includeGroup "maven.modrinth" }
    }
}

dependencies {
    modImplementation include("maven.modrinth:nota:VERSION_TAG")
}

How to get .nbs

Playing songs

Song in .nbs format have to be loaded before you can use it.

Song song = NBSDecoder.parse(new File("path/to/song.nbs"));
Song song2 = NBSDecoder.parse(new File("path/to/another/song.nbs"));
Playlist playlist = new Playlist(song, song2,...);

SongPlayer types

There are 3 types of SongPlayer:

  • RadioSongPlayer
  • PositionSongPlayer
  • EntitySongPlayer

RadioSongPlayer

Plays song for all added players no matter where they are.

Song song; // Preloaded song
RadioSongPlayer rsp = new RadioSongPlayer(song); // Create RadioSongPlayer.
rsp.setId(new Identifier("example:radio")); // Set unique identifier, not necessary
rsp.addPlayer(player); // Add player to SongPlayer so they will hear the song.
rsp.setPlaying(true); // Start RadioSongPlayer playback

PositionSongPlayer

Plays song for all added players in specified range from specified point.

Song song; // Preloaded song
PositionSongPlayer psp = new PositionSongPlayer(song); // Create PositionSongPlayer.
psp.setId(new Identifier("example:position")); // Set unique identifier, not necessary
psp.setBlockPos(pos); // Set location where the song will be playing
psp.setDistance(16); // Set distance from target location in which players will hear the SongPlayer, default: 16
psp.addPlayer(player); // Add player to SongPlayer so they will hear the song.
psp.setPlaying(true); // Start PositionSongPlayer playback

EntitySongPlayer

Plays song for all added players in specified range from specified entity.

Song song; // Preloaded song
EntitySongPlayer esp = new EntitySongPlayer(song); // Create EntitySongPlayer.
esp.setId(new Identifier("example:entity")); // Set unique identifier, not necessary
esp.setEntity(entity); // Set entity which position will be used
esp.setDistance(16); // Set distance from target location in which players will hear the SongPlayer, default: 16
esp.addPlayer(player); // Add player to SongPlayer so they will hear the song.
esp.setPlaying(true); // Start EntitySongPlayer playback

常见问题

Nota 支持哪些 Minecraft 版本?

Nota 支持 Minecraft Java 版 1.19–1.19.4,共 4 个版本,可用的加载器:Fabric / Quilt。下载时注意选择和你游戏版本一致的文件。

Nota 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Quilt,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅服务端。

评论

登录后评论和评分

PinkGoosik 的其他作品

查看全部 →