Go to file
Jitse Boonstra d018b8d97b For v1.4 (#10) (added support for 1.7.10). 2019-02-15 20:18:00 +01:00
api For v1.4 (#10) (added support for 1.7.10). 2019-02-15 20:18:00 +01:00
commons For v1.4 (#10) (added support for 1.7.10). 2019-02-15 20:18:00 +01:00
nms For v1.4 (#10) (added support for 1.7.10). 2019-02-15 20:18:00 +01:00
plugin For v1.4 (#10) (added support for 1.7.10). 2019-02-15 20:18:00 +01:00
.gitignore Few Maven changes and added a build script. 2018-05-06 17:20:12 +02:00
.travis.yml For v1.4 (#10) (added support for 1.7.10). 2019-02-15 20:18:00 +01:00
LICENSE.md Added a proper license (MIT license). 2018-04-19 18:00:24 +02:00
README.md For v1.4 (#10) (added support for 1.7.10). 2019-02-15 20:18:00 +01:00
build.sh Updates for v1.3. 2018-11-25 14:10:56 +01:00
pom.xml For v1.4 (#10) (added support for 1.7.10). 2019-02-15 20:18:00 +01:00

README.md

Banner NPCLib Basic non-player character library.
Release Build Status JDK Versions Thread Thread

This is an API made specifically for spigot servers (Minecraft). Current supported versions: 1.7.10 - 1.13.2. Lightweight replacement for Citizens. NPCLib only uses packets instead of registering the entity in the actual Minecraft server.

Preview (click to play video)

YouTube Video

Donate

PayPal

Alternatively, you can help the project by starring the repository or telling others about NPCLib. 😄

Roadmap

  • ✔️ Spawn and destroy NPC (version 1.8 - latest).
  • ✔️ Autohide NPC when out of range.
  • ✔️ Add support for 1.7.10 (1.7 R4).
  • 🚧 Option to rotate head to player (when nearby).
  • 🚧 Add support for animated text (update-able holograms).
  • Give NPC armor and items in hand.
  • Multi-line text support for 1.7.10 (1.7 R4).

Roadmad Legend

✔️ Feature is fully implemented and functional.
🚧 Feature is still in development (or experimental).
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!

Click here to download the latest release.

    // First we define our (global) library variable.
    // This is usually done in the onEnable method.
    NPCLib lib = new NPCLib(plugin);

   // Creating a new NPC instance.
   // MC 1.7.10 (1.7 R4) only supports single-line text.
   NPC npc = lib.createNPC(skin, lines);

   // Then let the library generate the necessary packets.
   npc.create(location);

   // You are all set! You can now show/hide it to/from players.
   npc.show(player);
   npc.hide(player);

   // If you do not wish to use the NPC anymore, destroy it accordingly.
   npc.destroy();

Events

Events you may want to use are NPCSpawnEvent, NPCDestroyEvent and NPCInteractEvent.

Building your own version

  1. Download or clone this repository.
  2. Build the plugin using sh build.sh. Alternatively, you can build the API JAR manually using mvn clean install.

You can build the plugin using mvn clean install -pPlugin.

License and plugins using NPCLib

NPCLib is licensed under the MIT license. Developers are free to use NPCLib for both private and commercial use. However, it would be nice to acknowledge me.

You (the developer) can also contact me if you wish to be added to the list below.

Plugin(s) using NPCLib:

Acknowledgement

We thank all those who have contributed to the creation of what NPCLib is today.

Copyright (c) Jitse Boonstra 2018 All rights reserved.