Skip to content

All NMS versions of bukkit/spigot in one jar file. NMS from 1.8-1.17

Notifications You must be signed in to change notification settings

Jacxk/all-spigot-nms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

All Spigot NMS

This is a tool I created to create a single jar file that contains all of spigot NMS versions, for easy import while creating a plugin that needs to support multiple versions of the Minecraft server libraries.

Important

Since version 1.17.1 Spigot changed the layout and obfucation mapping method, so this tool only compiles from version 1.8 to 1.17. If you need support for version 1.18 and above please check out tekanaka.
I will try to find a way to include everything but nothing is promised.

Usage

NOTE: This tool uses the jar command. It uses the JAVA_HOME or $PATH environmental variable to find the command. If you dont have that variable set, go to your JDK folder and copy the path then on your terminal run:

Set JDK to $PATH

echo 'export PATH="{JDK_PATH}/bin:$PATH"' >> ~/.zshrc

~/.zshrc is your shell profile file

Set JDK to $JAVA_HOME

set JAVA_HOME="{JDK_PATH}"

Compilation:

  • Download or clone this repository:
git clone https://github.com/Jacxk/all-spigot-nms
  • To compile the Jar file is as easy as runing the run.sh script and select one of options.

    Options:

    If no flags are found while executing the script an interactive menu will appear. Available flags are: -d | -e | -c | -a

    • Download -d - Downloads all the spigot jar files.

    • Extract -e - Extracts all the needed files from the downloaded files for compilation.

    • Compile -c - Compiles the Jar file from the extracted files.

    • All the above -a - Does all the above sequentially.

    • Exit - Closes everything and exits of course.

      Use the arrows and enter key to navigate through the menu.

    Extra Flags:

    • -t - Tests that the tool works as expected and everything is included on the out jar file.
    • -k - Removes title printout
    • -x - Disables verbose out put. Only important info will be displayed.

Build Test

Importing

Maven:

<dependency>
    <groupId>local.spigot.nms</groupId>
    <artifactId>AllSpigotNMS</artifactId>
    <version>LATEST</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/PATH TO FILE HERE</systemPath>
</dependency>

Gradle:

dependencies {
    implementation(files("/path/to/file.jar"))
}

You can now install it using the github package

I'm not distributing anything, please don't sue me Mojang.

Spigot NMS and Minecraft Versions:

NMS Versions with its latest minecraft version.

Each version as a link to its download.

Version R1 R2 R3
1.8 1.8 1.8.3 1.8.8
1.9 1.9.2 1.9.4
1.10 1.10.2
1.11 1.11.2
1.12 1.12
1.13 1.13 1.13.2
1.14 1.14.4
1.15 1.15.2
1.16 1.16.1 1.16.3 1.16.5
1.17 1.17.1
1.18 1.18.1 1.18.2
1.19 1.19.2 1.19.3 1.19.4
1.20 1.20.1 1.20.2 1.20.4