Skip to content

NPC-Lib Version 3 Beta 8

Pre-release
Pre-release
Compare
Choose a tag to compare
@derklaro derklaro released this 17 Aug 21:04
· 11 commits to v3 since this release
5e0559b

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.