Skip to content

CerialPvP/NBUltimate

Repository files navigation

NBUltimate

Hello, and thank you for visiting the NBUltimate GitHub repository.
The source code for NBUltimate is hosted here.

For the player base

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.

What is this?

This is a PaperMC plugin, that allows you to playback and manipulate the following formats:

Downloading the plugin

⚠️ 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.

Dev Build

⚠️ WARNING: A GitHub account is required for accessing Actions.

  1. Head over to Actions tab (as mentioned above, a GitHub account is required.)
  2. Go to latest workflow run.
  3. Download the artifact, and extract the ZIP file.
  4. Put the extracted JAR file in your server's plugins folder.
  5. Reboot the server and let the plugin download all its required libraries.

Release Build

  1. Click on the latest release, or head over to https://github.com/CerialPvP/NBUltimate/releases/latest
  2. Download the NBUltimate jar file.
  3. Put the downloaded JAR file in your server's plugins folder.
  4. Reboot the server and let the plugin download all its required libraries.

For developers

Importing NBUltimate to your build tool

⚠️ 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")
}

Adding NBUltimate as a dependency in your plugin

⚠️ 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

Building NBUltimate

Run the clean and build task in Gradle.
On Windows:

gradlew.bat clean build

On Mac/Linux:

./gradlew clean build

Running a testing server

⚠️ 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages