Releases: juliarn/npc-lib
NPC-Lib Version 3 Beta 16
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.10is parsed to1.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
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
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
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
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
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
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
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
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
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.