This is an API made specifically for spigot servers (Minecraft). Current supported versions: 1.8.8 - 1.16.5. Lightweight replacement for Citizens. NPCLib only uses packets instead of registering the entity in the actual Minecraft server.
Alternatively, you can help the project by starring the repository or telling others about NPCLib. :smile:
There are multiple ways you can make use of NPCLib.
npclib-plugin.jar
in to your plugin.npclib-plugin.jar
under your plugins
folder. By doing this, you no longer need to shade the API JAR. Though, do not forget to add NPCLibPlugin
as a dependency in your plugin.yml
!<repositories>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/groups/public/</url>
</repository>
</repositories>
If you have NPCLib under your plugins
folder, you may use the following:
<dependencies>
<dependency>
<groupId>net.jitse</groupId>
<artifactId>npclib-api</artifactId>
<version>2.11.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
compileOnly 'net.jitse:npclib-api:2.11.1-SNAPSHOT'
If you do not want to have NPCLib in your plugins
folder, you need to use the npclib-plugin
artifact and shade it accordingly.
Always make sure to use the latest stable release. Click here to view the latest release.
To make sure the classes won't be twice at the same place. I recommend repacking the library into your package. (Otherwise issue #79 might occur.) You can do that as follow:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.0</version>
<!-- Do not include the <configuration>...</configuration> part if you are using Sponge! -->
<configuration>
<relocations>
<relocation>
<pattern>net.jitse.npclib</pattern>
<!-- Replace this with your package! -->
<shadedPattern>your.package</shadedPattern>
</relocation>
</relocations>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Click here for an elaborate explanation on how to use NPCLib in your next project.
For NPCLib I use the follow versioning system:
mvn clean install
.The API JAR will be under /api/target/
and the plugin JAR (which includes all necessary NMS code) will be under /plugins/target/
.
NPCLib is licensed under the MIT license. Developers are free to use NPCLib for both private and commercial use. However, it would still be nice to acknowledge me.
I thank all those who have contributed to NPCLib over the course of its development.
Please view other credits here.
Copyright (c) Jitse Boonstra 2018 All rights reserved.