Skip to content

Repository files navigation

Fallback logo image

Library ported from and based of @juliarn/npc-lib to Kotlin.


Features

  • Bukkit & Forks (including Folia) supported via ProtocolLib or PacketEvents
  • Skin (Static and Dynamic loading)
  • Attributes (Status, Pose, Skin Layers)
  • Equipment (Main & Off-Hand, Armor)
  • Interaction (Interact & Attack)
  • Action Controller (Automatic Looking at Player, Player Imitation & Spawning etc.)
  • Kotlin DSL & Type-safe

Usage

Gradle (Kotlin DSL)
repositories {
mavenCentral()
}
dependencies {
implementation("io.github.dani-error.velar:<module>:1.1.0")
}

Replace <module> with one of the modules listed below.

Maven
<dependency>
<groupId>io.github.dani-error.velar</groupId>
<artifactId>MODULE</artifactId>
<version>1.1.0</version>
</dependency>

Replace MODULE with one of the modules listed below.

Gradle (Groovy DSL)
repositories {
mavenCentral()
}
dependencies {
implementation 'io.github.dani-error.velar:<module>:1.1.0'
}

Replace <module> with one of the modules listed below.


Additional Repositories

You may need to add the following if you rely on transitive dependencies:

  • https://repo.papermc.io/repository/maven-public/ (PaperLib)
  • https://repository.derklaro.dev/releases/ (ProtocolLib via Derklaro’s repo; can also use JitPack)
  • https://repo.codemc.io/repository/maven-releases/ (PacketEvents)
  • https://s01.oss.sonatype.org/content/repositories/snapshots/ (for snapshot-only dependencies)
Shading

To avoid conflicts when multiple plugins ship the same dependencies, shade/relocate these packages:

  • io.papermc.lib
  • io.leangen.geantyref
  • io.github.retrooper
  • com.github.retrooper
  • dev.dani.velar

Modules

Module NameArtifact IDDescription
APIapiCore Velar API (no platform-specific code).
CommoncommonAbstract API implementations for building new platforms.
BukkitbukkitFull Bukkit (and forks) implementation—includes API & Common.

All of them published in maven central.


Documentation

Full API reference and usage examples are available on the docs site.

Contributing

Contributions are welcome! To get started:

  1. Fork this repository.
  2. Create a feature branch:
    git checkout -b feature/<your-feature>
  3. Make your changes in Kotlin (follow existing style).
  4. Commit and push to your fork, then open a Pull Request against main.

Please include a short description of your changes. For larger features, open an issue first to discuss.


License

This project is MIT-licensed. See LICENSE for details.
(The original @juliarn/npc-lib is also MIT-licensed, and this port preserves that license.)

About

🤖 Asynchronous, high-performance Minecraft NPC library for 1.8-1.21 servers built on Kotlin.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages