Skip to content

Releases: juliarn/npc-lib

NPC-Lib Version 3 Beta 16

09 Nov 15:11
2c67e94

Choose a tag to compare

Pre-release

NPC-Lib Version 3 Beta 16

Changes and fixes in this release:

  • All usages of PaperLib have been removed from the project. PaperLib is unmaintained for almost a year now, and is unable to parse Minecraft versions with double-digit patch versions correctly (e.g. 1.21.10 is parsed to 1.21.1). This change only affects the bukkit platform implementation.

Dependency

The dependency is available in maven central: https://central.sonatype.com/search?q=io.github.juliarn
Please note: releases can take up to 20 minutes to be synced to maven central.

All modules:

Module artifact name Module description
npc-lib-api General NPC-Lib API without platform specific class usage. This module should be used when the underlying implementation does not matter.
npc-lib-common Abstract implementation of the api module. This module should be used when a new platform implementation is made.
npc-lib-bukkit Platform specific implementation for Bukkit. This module implements the complete API (and common) to support Bukkit (and forks).
npc-lib-minestom Platform specific implementation for Minestom. This module implements the complete API (and common) to support Minestom (and forks).
npc-lib-fabric Platform specific implementation for Fabric. This module implements the complete API (and common) to support Fabric and must be installed as a mod on the server.
npc-lib-labymod This module contains helper methods for accessing LabyMod NPC features (such as emotes and stickers). See the LabyMod documentation for more information.

How to include a module

Maven:

<dependency>
  <groupId>io.github.juliarn</groupId>
  <artifactId><insert module name from list above></artifactId>
  <version>3.0.0-beta.16</version>
  <scope>compile</scope>
</dependency>

Gradle:

implementation("io.github.juliarn", "<insert module name from list above>", "3.0.0-beta.16")

Bug reports & Feature requests

If you found an issue with v3 or want to request a new feature please do so on the issue tracker.

NPC-Lib Version 3 Beta 15

06 Oct 18:11
94e4b11

Choose a tag to compare

Pre-release

NPC-Lib Version 3 Beta 15

Changes and fixes in this release:

  • Improved metadata index shifting, fix skin layers metadata index on 1.21.9
  • Fixed ProtocolLib game profile construction on 1.21.9
  • Player info of npcs is now always removed after they were spawned, preventing them from showing up in tab completions
  • Existing packetevents-api instances are no longer overidden
  • Multiple track/untrack operations can no longer accidentially interfer with each other

Dependency

The dependency is available in maven central: https://central.sonatype.com/search?q=io.github.juliarn
Please note: releases can take up to 20 minutes to be synced to maven central.

All modules:

Module artifact name Module description
npc-lib-api General NPC-Lib API without platform specific class usage. This module should be used when the underlying implementation does not matter.
npc-lib-common Abstract implementation of the api module. This module should be used when a new platform implementation is made.
npc-lib-bukkit Platform specific implementation for Bukkit. This module implements the complete API (and common) to support Bukkit (and forks).
npc-lib-minestom Platform specific implementation for Minestom. This module implements the complete API (and common) to support Minestom (and forks).
npc-lib-fabric Platform specific implementation for Fabric. This module implements the complete API (and common) to support Fabric and must be installed as a mod on the server.
npc-lib-labymod This module contains helper methods for accessing LabyMod NPC features (such as emotes and stickers). See the LabyMod documentation for more information.

How to include a module

Maven:

<dependency>
  <groupId>io.github.juliarn</groupId>
  <artifactId><insert module name from list above></artifactId>
  <version>3.0.0-beta.15</version>
  <scope>compile</scope>
</dependency>

Gradle:

implementation("io.github.juliarn", "<insert module name from list above>", "3.0.0-beta.15")

Bug reports & Feature requests

If you found an issue with v3 or want to request a new feature please do so on the issue tracker.

NPC-Lib Version 3 Beta 14

01 Oct 15:13
b1dd609

Choose a tag to compare

Pre-release

NPC-Lib Version 3 Beta 14

Changes and fixes in this release:

  • Support 1.21.9 (on Fabric)
  • Support for Minestom version 2025.09.13-1.21.8
  • Fixed a regression that caused custom payload packets to not be constructable on Bukkit
  • Updated to new minecraftservices.com api endpoint for profile by name lookups
  • The head rotation of npcs is now set in the spawn packet (contributed by @noah-stapp in #147)

Dependency

The dependency is available in maven central: https://central.sonatype.com/search?q=io.github.juliarn
Please note: releases can take up to 20 minutes to be synced to maven central.

All modules:

Module artifact name Module description
npc-lib-api General NPC-Lib API without platform specific class usage. This module should be used when the underlying implementation does not matter.
npc-lib-common Abstract implementation of the api module. This module should be used when a new platform implementation is made.
npc-lib-bukkit Platform specific implementation for Bukkit. This module implements the complete API (and common) to support Bukkit (and forks).
npc-lib-minestom Platform specific implementation for Minestom. This module implements the complete API (and common) to support Minestom (and forks).
npc-lib-fabric Platform specific implementation for Fabric. This module implements the complete API (and common) to support Fabric and must be installed as a mod on the server.
npc-lib-labymod This module contains helper methods for accessing LabyMod NPC features (such as emotes and stickers). See the LabyMod documentation for more information.

How to include a module

Maven:

<dependency>
  <groupId>io.github.juliarn</groupId>
  <artifactId><insert module name from list above></artifactId>
  <version>3.0.0-beta.14</version>
  <scope>compile</scope>
</dependency>

Gradle:

implementation("io.github.juliarn", "<insert module name from list above>", "3.0.0-beta.14")

Bug reports & Feature requests

If you found an issue with v3 or want to request a new feature please do so on the issue tracker.

NPC-Lib Version 3 Beta 13

19 Jun 20:34
1d25db1

Choose a tag to compare

Pre-release

NPC-Lib Version 3 Beta 13

Changes and fixes in this release:

  • Support 1.21.6 (on Spigot/Paper and Fabric)
  • Added native support for additional entity metadata (entity pose, shaking, using item and arrow count)

Dependency

The dependency is available in maven central: https://central.sonatype.com/search?q=io.github.juliarn
Please note: releases can take up to 20 minutes to be synced to maven central.

All modules:

Module artifact name Module description
npc-lib-api General NPC-Lib API without platform specific class usage. This module should be used when the underlying implementation does not matter.
npc-lib-common Abstract implementation of the api module. This module should be used when a new platform implementation is made.
npc-lib-bukkit Platform specific implementation for Bukkit. This module implements the complete API (and common) to support Bukkit (and forks).
npc-lib-minestom Platform specific implementation for Minestom. This module implements the complete API (and common) to support Minestom (and forks).
npc-lib-fabric Platform specific implementation for Fabric. This module implements the complete API (and common) to support Fabric and must be installed as a mod on the server.
npc-lib-labymod This module contains helper methods for accessing LabyMod NPC features (such as emotes and stickers). See the LabyMod documentation for more information.

How to include a module

Maven:

<dependency>
  <groupId>io.github.juliarn</groupId>
  <artifactId><insert module name from list above></artifactId>
  <version>3.0.0-beta13</version>
  <scope>compile</scope>
</dependency>

Gradle:

implementation("io.github.juliarn", "<insert module name from list above>", "3.0.0-beta13")

Bug reports & Feature requests

If you found an issue with v3 or want to request a new feature please do so on the issue tracker.

NPC-Lib Version 3 Beta 12

05 May 21:36
a3351a9

Choose a tag to compare

Pre-release

NPC-Lib Version 3 Beta 12

Changes and fixes in this release:

  • Support 1.21.5 (on Spigot/Paper and Fabric)
  • Fix exception in Spigot profiler resolver on 1.21.5
  • Replace usage of ProtocolLib to send custom payload with bukkit api for easier cross-version compatibility

Dependency

The dependency is available in maven central: https://central.sonatype.com/search?q=io.github.juliarn
Please note: releases can take up to 20 minutes to be synced to maven central.

All modules:

Module artifact name Module description
npc-lib-api General NPC-Lib API without platform specific class usage. This module should be used when the underlying implementation does not matter.
npc-lib-common Abstract implementation of the api module. This module should be used when a new platform implementation is made.
npc-lib-bukkit Platform specific implementation for Bukkit. This module implements the complete API (and common) to support Bukkit (and forks).
npc-lib-minestom Platform specific implementation for Minestom. This module implements the complete API (and common) to support Minestom (and forks).
npc-lib-fabric Platform specific implementation for Fabric. This module implements the complete API (and common) to support Fabric and must be installed as a mod on the server.
npc-lib-labymod This module contains helper methods for accessing LabyMod NPC features (such as emotes and stickers). See the LabyMod documentation for more information.

How to include a module

Maven:

<dependency>
  <groupId>io.github.juliarn</groupId>
  <artifactId><insert module name from list above></artifactId>
  <version>3.0.0-beta12</version>
  <scope>compile</scope>
</dependency>

Gradle:

implementation("io.github.juliarn", "<insert module name from list above>", "3.0.0-beta12")

Bug reports & Feature requests

If you found an issue with v3 or want to request a new feature please do so on the issue tracker.

NPC-Lib Version 3 Beta 11

03 Feb 11:33
3af33b3

Choose a tag to compare

Pre-release

NPC-Lib Version 3 Beta 11

Changes and fixes in this release:

  • Add support for fabric servers (latest version only, currently 1.21.4)
  • Updated dependencies (packetevents for 1.21.4 support, minestom due to announced breaking api changes)
  • Fix usage of world name based comparisons in minestom implementation (names in positions might be provided differently by the spawning plugin, comparisons were hardcoded to use the instance uuid)
  • Fix minestom metadata conversion types

Dependency

The dependency is available in maven central: https://central.sonatype.com/search?q=io.github.juliarn
Please note: releases can take up to 20 minutes to be synced to maven central.

All modules:

Module artifact name Module description
npc-lib-api General NPC-Lib API without platform specific class usage. This module should be used when the underlying implementation does not matter.
npc-lib-common Abstract implementation of the api module. This module should be used when a new platform implementation is made.
npc-lib-bukkit Platform specific implementation for Bukkit. This module implements the complete API (and common) to support Bukkit (and forks).
npc-lib-minestom Platform specific implementation for Minestom. This module implements the complete API (and common) to support Minestom (and forks).
npc-lib-fabric Platform specific implementation for Fabric. This module implements the complete API (and common) to support Fabric and must be installed as a mod on the server.
npc-lib-labymod This module contains helper methods for accessing LabyMod NPC features (such as emotes and stickers). See the LabyMod documentation for more information.

How to include a module

Maven:

<dependency>
  <groupId>io.github.juliarn</groupId>
  <artifactId><insert module name from list above></artifactId>
  <version>3.0.0-beta11</version>
  <scope>compile</scope>
</dependency>

Gradle:

implementation("io.github.juliarn", "<insert module name from list above>", "3.0.0-beta11")

Bug reports & Feature requests

If you found an issue with v3 or want to request a new feature please do so on the issue tracker.

NPC-Lib Version 3 Beta 10

11 Nov 21:39
11e870f

Choose a tag to compare

Pre-release

NPC-Lib Version 3 Beta 10

Changes and fixes in this release:

  • Updated dependencies (especially packetevents for 1.21.3 support)
  • Fix yaw being written as pitch (and vice versa) when spawning npc in 1.20.2+

Dependency

The dependency is available in maven central: https://central.sonatype.com/search?q=io.github.juliarn
Please note: releases can take up to 20 minutes to be synced to maven central.

All modules:

Module artifact name Module description
npc-lib-api General NPC-Lib API without platform specific class usage. This module should be used when the underlying implementation does not matter.
npc-lib-common Abstract implementation of the api module. This module should be used when a new platform implementation is made.
npc-lib-bukkit Platform specific implementation for Bukkit. This module implements the complete API (and common) to support Bukkit (and forks).
npc-lib-minestom Platform specific implementation for Minestom. This module implements the complete API (and common) to support Minestom (and forks).
npc-lib-labymod This module contains helper methods for accessing LabyMod NPC features (such as emotes and stickers). See the LabyMod documentation for more information.

How to include a module

Maven:

<dependency>
  <groupId>io.github.juliarn</groupId>
  <artifactId><insert module name from list above></artifactId>
  <version>3.0.0-beta10</version>
  <scope>compile</scope>
</dependency>

Gradle:

implementation("io.github.juliarn", "<insert module name from list above>", "3.0.0-beta10")

Bug reports & Feature requests

If you found an issue with v3 or want to request a new feature please do so on the issue tracker.

NPC-Lib Version 3 Beta 9

01 Sep 14:08
d67e735

Choose a tag to compare

Pre-release

NPC-Lib Version 3 Beta 9

Changes and fixes in this release:

  • Add a new method to NPC which allows for easier creation of a rotation packet
  • Updated LabyMod extension to use the LabyMod Neo packet format
  • Added a readme with examples for documentation purposes

Dependency

The dependency is available in maven central: https://central.sonatype.com/search?q=io.github.juliarn
Please note: releases can take up to 20 minutes to be synced to maven central.

All modules:

Module artifact name Module description
npc-lib-api General NPC-Lib API without platform specific class usage. This module should be used when the underlying implementation does not matter.
npc-lib-common Abstract implementation of the api module. This module should be used when a new platform implementation is made.
npc-lib-bukkit Platform specific implementation for Bukkit. This module implements the complete API (and common) to support Bukkit (and forks).
npc-lib-minestom Platform specific implementation for Minestom. This module implements the complete API (and common) to support Minestom (and forks).
npc-lib-labymod This module contains helper methods for accessing LabyMod NPC features (such as emotes and stickers). See the LabyMod documentation for more information.

How to include a module

Maven:

<dependency>
  <groupId>io.github.juliarn</groupId>
  <artifactId><insert module name from list above></artifactId>
  <version>3.0.0-beta9</version>
  <scope>compile</scope>
</dependency>

Gradle:

implementation("io.github.juliarn", "<insert module name from list above>", "3.0.0-beta9")

Bug reports & Feature requests

If you found an issue with v3 or want to request a new feature please do so on the issue tracker.

NPC-Lib Version 3 Beta 8

17 Aug 21:04
5e0559b

Choose a tag to compare

Pre-release

NPC-Lib Version 3 Beta 8

Changes and fixes in this release:

  • Remove shading of all dependencies, see below for an example shading configuration
  • Updated all dependencies

Shading

An example relocation configuration using gradle & the shadow plugin:

tasks.withType<ShadowJar> {
  relocate("net.kyori", "<your-group>.relocate.net.kyori")
  relocate("io.papermc.lib", "<your-group>.relocate.paperlib")
  relocate("io.leangen.geantyref", "<your-group>.relocate.geantyref")
  relocate("io.github.retrooper", "<your-group>.relocate.io.packetevents")
  relocate("com.github.retrooper", "<your-group>.relocate.com.packetevents")
  relocate("com.github.juliarn.npclib", "<your-group>.relocate.com.github.juliarn.npclib")

  dependencies {
    exclude("plugin.yml")
    // excludes the META-INF directory, module infos & html files of all dependencies
    // this includes for example maven lib files & multi-release module-json files
    exclude("META-INF/**", "**/*.html", "module-info.*")
  }
}

Dependency

The dependency is available in maven central: https://central.sonatype.com/search?q=io.github.juliarn
Please note: releases can take up to 20 minutes to be synced to maven central.

All modules:

Module artifact name Module description
npc-lib-api General NPC-Lib API without platform specific class usage. This module should be used when the underlying implementation does not matter.
npc-lib-common Abstract implementation of the api module. This module should be used when a new platform implementation is made.
npc-lib-bukkit Platform specific implementation for Bukkit. This module implements the complete API (and common) to support Bukkit (and forks).
npc-lib-minestom Platform specific implementation for Minestom. This module implements the complete API (and common) to support Minestom (and forks).
npc-lib-labymod This module contains helper methods for accessing LabyMod NPC features (such as emotes and stickers). See the LabyMod documentation for more information.

How to include a module

Maven:

<dependency>
  <groupId>io.github.juliarn</groupId>
  <artifactId><insert module name from list above></artifactId>
  <version>3.0.0-beta8</version>
  <scope>compile</scope>
</dependency>

Gradle:

implementation("io.github.juliarn", "<insert module name from list above>", "3.0.0-beta8")

Bug reports & Feature requests

If you found an issue with v3 or want to request a new feature please do so on the issue tracker.

NPC-Lib Version 3 Beta 7

14 Jul 09:32
b709484

Choose a tag to compare

Pre-release

NPC-Lib Version 3 Beta 7

Changes and fixes in this release:

  • NPCs no longer track players if the PreShow event is cancelled (#119)
  • NPCs no longer untrack players if the PreHide event is cancelled
  • Add some missing EntityPoses for 1.20.4+
  • Improve ProtocolLib DataWatcher resolving logic
  • Add missing relocation of adventure (pulled by packetevents)
  • Updated all dependencies

Dependency

The dependency is available in maven central: https://central.sonatype.com/search?q=io.github.juliarn
Please note: releases can take up to 20 minutes to be synced to maven central.

All modules:

Module artifact name Module description
npc-lib-api General NPC-Lib API without platform specific class usage. This module should be used when the underlying implementation does not matter.
npc-lib-common Abstract implementation of the api module. This module should be used when a new platform implementation is made.
npc-lib-bukkit Platform specific implementation for Bukkit. This module implements the complete API (and common) to support Bukkit (and forks).
npc-lib-minestom Platform specific implementation for Minestom. This module implements the complete API (and common) to support Minestom (and forks).
npc-lib-labymod This module contains helper methods for accessing LabyMod NPC features (such as emotes and stickers). See the LabyMod documentation for more information.

How to include a module

Maven:

<dependency>
  <groupId>io.github.juliarn</groupId>
  <artifactId><insert module name from list above></artifactId>
  <version>3.0.0-beta7</version>
  <scope>compile</scope>
</dependency>

Gradle:

implementation("io.github.juliarn", "<insert module name from list above>", "3.0.0-beta7")

Bug reports & Feature requests

If you found an issue with v3 or want to request a new feature please do so on the issue tracker.