Skip to content

Releases: juliarn/npc-lib

NPC-Lib Version 3 Beta 12

05 May 21:36
a3351a9
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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.

NPC-Lib Version 3 Beta 6

18 Oct 18:44
a97e14a
Compare
Choose a tag to compare
Pre-release

NPC-Lib Version 3 Beta 6

Changes and fixes in this release:

  • 1.20.2 is now fully supported (#115)
  • The look direction of an npc is now properly synced when the player moves without rotating (#108)
  • There is now a new flag for the action controller to automatically sync the looking direction of an npc on the first show to a player (#110)
  • The previously used and deprecated event library has been removed and replaced with a custom one (#112)
  • The Paper & Spigot profile resolver now properly catch cases where the name and/or uuid of a profile couldn't be resolved
  • This lib is now published to maven central

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-beta6</version>
  <scope>compile</scope>
</dependency>

Gradle:

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

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 5

14 Jun 21:09
4b57248
Compare
Choose a tag to compare
Pre-release

NPC-Lib Version 3 Beta 5

Changes and fixes in this release:

  • The parameter order of PlatformPacketAdapter#createEntityMetaPacket got swapped. The meta factory is now the first parameter and the value is the second one.
  • Fixed an issue on legacy servers (prior to paper 1.12) that caused skins not to display because the profile signature was not loaded.

Dependency

The dependency can be loaded from 2 repositories: https://jitpack.io/ or https://repository.derklaro.dev/releases/. The group id for the dependency is com.github.juliarn.NPC-Lib.

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>com.github.juliarn.NPC-Lib</groupId>
  <artifactId><insert module name from list above></artifactId>
  <version>3.0.0-beta5</version>
  <scope>compile</scope>
</dependency>

Gradle:

implementation("com.github.juliarn.NPC-Lib", "<insert module name from list above>", "3.0.0-beta5")

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.

3.0.0-beta4

07 Apr 10:30
84ee3ea
Compare
Choose a tag to compare
3.0.0-beta4 Pre-release
Pre-release

NPC-Lib Version 3 Beta 4

Changes and fixes in this release:

  • The NPC class now has special methods to generate certain outgoing packets directly instead of taking the detour via the PlatformPacketAdapter: playAnimation and changeMetadata
  • The bundled PacketEvents version has been updated to support 1.19.4
  • The library now fully supports Folia (when running on Folia, all tasks are scheduled fully asynchronously, they do not use a scheduler provided by Folia. This allows reuse of the new async scheduler implementation for new platforms or similar bukkit forks)

Dependency

The dependency can be loaded from 2 repositories: https://jitpack.io/ or https://repository.derklaro.dev/releases/. The group id for the dependency is com.github.juliarn.NPC-Lib.

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>com.github.juliarn.NPC-Lib</groupId>
  <artifactId><insert module name from list above></artifactId>
  <version>3.0.0-beta4</version>
  <scope>compile</scope>
</dependency>

Gradle:

implementation("com.github.juliarn.NPC-Lib", "<insert module name from list above>", "3.0.0-beta4")

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.

3.0.0-beta3

15 Jan 14:49
890037d
Compare
Choose a tag to compare
3.0.0-beta3 Pre-release
Pre-release

NPC-Lib Version 3 Beta 3

Changes and fixes in this release:

  • Fatal exceptions (which indicate that the jvm cannot resume the execution of the program) are no longer silently ignored when caught inside an event listener
  • Fix some smaller issues related to the PacketEvents adapter which was broken because of internal changes in PacketEvents
  • The prefix npc-lib- is now prepended to all submodules
  • Use the newly added getUUIDLists method from ProtocolLib to access uuids lists when removing a spawned npc in 1.19.3

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.