diff --git a/README.md b/README.md index 1a6d1ea..7c75e2a 100755 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ -![Banner](https://i.imgur.com/WL6QeUA.png) +![Banner](https://i.imgur.com/9BgeVVy.png) NPCLib – Basic non-player character library.
[![Release](https://jitpack.io/v/JitseB/NPCLib.svg)](https://github.com/JitseB/NPCLib/releases) [![Build Status](https://travis-ci.com/JitseB/NPCLib.svg?branch=master)](https://travis-ci.com/JitseB/NPCLib) [![JDK](https://img.shields.io/badge/Using-Java%208-blue.svg)](http://jdk.java.net/8/) -[![Versions](https://img.shields.io/badge/MC-1.7.10%20--%201.13.2-blue.svg)](https://github.com/JitseB/NPCLib/releases) +[![Versions](https://img.shields.io/badge/MC-1.7.10%20--%201.14.4-blue.svg)](https://github.com/JitseB/NPCLib/releases) [![Resource](https://img.shields.io/badge/SpigotMC-Resource-orange.svg)](https://www.spigotmc.org/resources/npclib.55884/) = -This is an API made specifically for spigot servers (Minecraft). Current supported versions: **1.8 - 1.13.2**\*. Lightweight replacement for Citizens. NPCLib only uses packets instead of registering the entity in the actual Minecraft server. +This is an API made specifically for spigot servers (Minecraft). Current supported versions: **1.8 - 1.14.4**\*. Lightweight replacement for Citizens. NPCLib only uses packets instead of registering the entity in the actual Minecraft server. -\*You can find a version of NPCLib with basic support for 1.7.10 on the [legacy branch](https://github.com/JitseB/NPCLib/tree/legacy). This branch is not (as) actively maintained as the master branch. This version does not support multi-line text (yet). +\*You can find a version of NPCLib with basic support for 1.7.10 on the [legacy branch](https://github.com/JitseB/NPCLib/tree/legacy). This branch is not actively maintained as the master branch. This version does not support multi-line text. ### Preview (click to play video) [![YouTube Video](http://img.youtube.com/vi/LqwdqIxPIvE/0.jpg)](http://www.youtube.com/watch?v=LqwdqIxPIvE "NPCLib – Basic non-player character library (Minecraft).") @@ -20,40 +20,52 @@ This is an API made specifically for spigot servers (Minecraft). Current support Alternatively, you can help the project by starring the repository or telling others about NPCLib. :smile: -## Roadmap - -- :heavy_check_mark: Spawn and destroy NPC (version 1.8 - latest). -- :heavy_check_mark: Autohide NPC when out of range. -- :heavy_check_mark: Add support for 1.7.10 (1.7 R4). -- :heavy_check_mark: Documentation material. -- :construction: Option to rotate head to player (when nearby). -- :construction: Add support for animated text (update-able holograms). -- :x: Give NPC armor and items in hand. -- :x: Multi-line text support for 1.7.10 (1.7 R4). - -### Roadmad Legend -:heavy_check_mark: Feature is fully implemented and functional.
-:construction: Feature is still in development (or experimental).
-:x: Development of feature has yet to be started.
- ## Developers ### Usage -It is recommended to shade `npclib-api-v*.jar` into your plugin. -Alternatively, you can put `npclib-plugin-v*.jar` under your `plugins` folder. By doing this, you no longer need to shade the API JAR. Though, do not forget to add `NPCLib` as a dependency in your `plugin.yml`! +There are multiple ways you can make use of NPCLib. + +1. The first option is to shade `npclib-plugin.jar` in to your plugin. +2. The second option is to put `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 `NPCLib` as a dependency in your `plugin.yml`! +3. The third option (and the one I recommend most) is to shade the library using Maven. I recently added NPCLib to the OSSRH (OSS Repository Hosting) which allows you to easily import NPCLib into your project. + +#### Maven repository +```xml + + + ossrh + https://oss.sonatype.org/content/groups/public/ + + +``` + +#### Maven dependency + +If you have NPCLib under your `plugins` folder, you may use the following: +```xml + + + net.jitse + npclib-api + 2.0-SNAPSHOT + compile + + +``` +If you do not want to have NPCLib in your `plugins` folder, you need to use the `npclib-plugin` artifact and [shade it](https://maven.apache.org/plugins/maven-shade-plugin/) accordingly. [Click here](https://github.com/JitseB/NPCLib/releases/latest) to download the latest release. -[Click here](https://github.com/JitseB/NPCLib/blob/master/DOCUMENTATION.md) for an elaborate explanation on how to use NPCLib in your next project. +**[Click here](https://github.com/JitseB/NPCLib/blob/master/DOCUMENTATION.md) for an elaborate explanation on how to use NPCLib in your next project.** ### Building your own version 1. [Download](https://github.com/JitseB/NPCLib/archive/master.zip) or clone this repository. -2. Build the plugin using `sh build.sh`. Alternatively, you can build the API JAR manually using `mvn clean install`. +2. You can build the project using `mvn clean install`. -You can build the plugin using `mvn clean install -pPlugin`. +The API JAR will be under `/api/target/` and the plugin JAR (which includes all necessary NMS code) will be under `/plugins/target/`. ## License and plugins using NPCLib diff --git a/api/pom.xml b/api/pom.xml index 896d09a..370543d 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -31,12 +31,6 @@ 1.14.4-R0.1-SNAPSHOT provided - - org.spigotmc - spigot - 1.14.4-R0.1-SNAPSHOT - provided - com.mojang authlib diff --git a/build.sh b/build.sh deleted file mode 100755 index fba28cf..0000000 --- a/build.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -echo "Building JARs..." - -ls jars >> /dev/null 2>&1 || mkdir jars - -echo "Building npclib-api.jar..." -/usr/local/apache-maven-3.5.4/bin/mvn clean install >> /dev/null 2>&1 && cp ./api/target/*.jar ./jars && echo "Finished building NPCLib API" || echo "Failed building NPCLib API. Please rebuild manually" - -echo "Building npclib-plugin.jar..." -/usr/local/apache-maven-3.5.4/bin/mvn clean install -Pplugin >> /dev/null 2>&1 && cp ./target/*.jar ./jars && echo "Finished building NPCLib plugin" || echo "Failed building NPCLib plugin. Please rebuild manually" \ No newline at end of file diff --git a/pom.xml b/pom.xml index 1638f8f..17957b2 100755 --- a/pom.xml +++ b/pom.xml @@ -79,20 +79,6 @@ 1.8 - - org.apache.maven.plugins - maven-gpg-plugin - 1.5 - - - sign-artifacts - verify - - sign - - - - org.sonatype.plugins nexus-staging-maven-plugin @@ -106,4 +92,34 @@ + + + + release-sign-artifacts + + + performRelease + true + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.5 + + + sign-artifacts + verify + + sign + + + + + + + + \ No newline at end of file