Hello, and thank you for visiting the NBUltimate GitHub repository.
The source code for NBUltimate is hosted here.
If a server you're playing on plays heavy songs and if you see that in the F3 menu you're hitting the 247 sound limit, you should use the Raise Sound Limit Simplified mod that increases the sound limit from 247 sounds to 4087, which should give you enhanced sound quality.
This is a PaperMC plugin, that allows you to playback and manipulate the following formats:
- .nbs (OpenNBS and Legacy NBS format. This is the primary format, which means all other formats convert to this.)
- .mid (MIDI format)
- .mcsp2 (Minecraft Song Planner 2's format)
- .notebot (Future Client's format)
- .txt (BleachHack's format)
⚠️ HUGE WARNING: NBUltimate REQUIRES for you to use a Paper server (or a fork). Spigot will 100% not work, and ignore the plugin (since this is a Paper plugin), and "hybrid" forks (such as Arclight) aren't guaranteed to work.
⚠️ WARNING: A GitHub account is required for accessing Actions.
- Head over to Actions tab (as mentioned above, a GitHub account is required.)
- Go to latest workflow run.
- Download the artifact, and extract the ZIP file.
- Put the extracted JAR file in your server's plugins folder.
- Reboot the server and let the plugin download all its required libraries.
- Click on the latest release, or head over to https://github.com/CerialPvP/NBUltimate/releases/latest
- Download the NBUltimate jar file.
- Put the downloaded JAR file in your server's plugins folder.
- Reboot the server and let the plugin download all its required libraries.
⚠️ WARNING: If you are using a shading plugin, ADD NBULTIMATE TO YOUR SHADING EXCLUSIONS LIST.
To add NBUltimate in Maven:
<repositories>
<repository>
<id>emirdev</id>
<url>https://repo.emirdev.xyz/snapshots</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>cc.cerial</groupId>
<artifactId>NBUltimate</artifactId>
<version>[REPLACE VERSION HERE]</version>
</dependency>
</dependencies>
To add NBUltimate in Gradle Groovy:
repositories {
maven {
url "https://repo.emirdev.xyz/snapshots"
}
}
dependencies {
implementation "cc.cerial:NBUltimate:0.0.0-DEV"
}
To add NBUltimate in Gradle KTS:
repositories {
maven("https://repo.emirdev.xyz/snapshots")
}
dependencies {
implementation("cc.cerial:NBUltimate:0.0.0-DEV")
}
⚠️ WARNING: If you declare NBUltimate as a soft-dependency (your plugin won't require NBUltimate to start up), make sure to add a field in your plugin to signal that NBUltimate is present and enabled, like this:
public class YourPlugin extends JavaPlugin {
private boolean isNBUltimateEnabled = false;
// Getter method here..
@Override
public void onEnable() {
// Plugin startup logic here...
PluginManager pm = getServer().getPluginManager();
if (pm.isPluginEnabled(pm.getPlugin("NBUltimate")))
this.isNBUltimateEnabled = true;
}
}
bukkit.yml:
# Plugin information goes here.
# If you want your plugin to start up only if NBUltimate is present, use "depend" list, otherwise use "softdepend", and
# put the code in the section above to check if NBUltimate is present on your server.
depend:
- NBUltimate
# Other dependencies
paper-plugin.yml:
dependencies:
server:
NBUltimate:
# NBUltimate should be loaded before your plugin is, to avoid errors.
load: BEFORE
# If this is true, NBUltimate is required for your plugin to start up, otherwise NBUltimate will be a soft-dependency
# and you will need to use the code above to check if NBUltimate is present.
required: true
# This should be true, otherwise your plugin will get ClassNotFoundException errors.
join-classpath: true
Run the clean
and build
task in Gradle.
On Windows:
gradlew.bat clean build
On Mac/Linux:
./gradlew clean build
⚠️ WARNING: When running the server, you automatically agree to the Mojang EULA. The server is only to be used with NBUltimate, and not with other plugins.
NBUltimate also offers the option of running a dedicated test server from your IDE.
The test server also supports being ran with the IntelliJ debugger, if you run it with the JetBrains Runtime JDK, that supports hot-reloading and enhanced class redefinition.
On Windows:
gradlew.bat runServer
On Mac/Linux:
./gradlew runServer