Library ported from and based of @juliarn/npc-lib to Kotlin.
- 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
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.libio.leangen.geantyrefio.github.retroopercom.github.retrooperdev.dani.velar
| Module Name | Artifact ID | Description |
|---|---|---|
| API | api |
Core Velar API (no platform-specific code). |
| Common | common |
Abstract API implementations for building new platforms. |
| Bukkit | bukkit |
Full Bukkit (and forks) implementation—includes API & Common. |
All of them published in maven central.
Full API reference and usage examples are available on the docs site.
Contributions are welcome! To get started:
- Fork this repository.
- Create a feature branch:
git checkout -b feature/<your-feature>
- Make your changes in Kotlin (follow existing style).
- 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.
This project is MIT-licensed. See LICENSE for details.
(The original @juliarn/npc-lib is also MIT-licensed, and this port preserves that license.)