98 lines
8.7 KiB
Markdown
98 lines
8.7 KiB
Markdown
# KotlinBukkitKIT
|
|
KotlinBukkitKit is an API for Bukkit/SpigotAPI using features Kotlin.
|
|
Thanks for DevSrSouza / KotlinBukkitAPI.
|
|
|
|
|
|
```kotlin
|
|
implementation("tech.carcadex:kotlinbukkitkit-architecture:1.0.0.3")
|
|
implementation("tech.carcadex:kotlinbukkitkit-extensions:1.0.0.3")
|
|
implementation("tech.carcadex:kotlinbukkitkit-serialization:1.0.0.3")
|
|
implementation("tech.carcadex:kotlinbukkitkit-messages:1.0.0.3")
|
|
implementation("tech.carcadex:kotlinbukkitkit-commands:1.0.0.3")
|
|
implementation("tech.carcadex:kotlinbukkitkit-utility:1.0.0.3")
|
|
implementation("tech.carcadex:kotlinbukkitkit-exposed:1.0.0.3")
|
|
|
|
compileOnly("tech.carcadex:kotlinbukkitkit-genref:1.0.0.3")
|
|
ksp("tech.carcadex:kotlinbukkitkit-genref:1.0.0.3")
|
|
```
|
|
|
|
|
|
Documentation will be there: https://red-tea.gitbook.io/kotlinbukkitkit/
|
|
|
|
|
|
<img src="https://github.com/DevSrSouza/KotlinBukkitAPI/raw/master/icon.png?size=96" alt="KotlinBukkitAPI" title="KotlinBukkitAPI" align="right"/>
|
|
|
|
## KotlinBukkitKIT
|
|
|
|

|
|
[](https://github.com/DevSrSouza/KotlinBukkitAPI/stargazers)
|
|
[](https://github.com/DevSrSouza/KotlinBukkitAPI/issues)
|
|
[](https://github.com/DevSrSouza/KotlinBukkitAPI/commit)
|
|
[](https://discord.gg/pyrh4dUPZD)
|
|
[](https://choosealicense.com/licenses/mit)
|
|
|
|
KotlinBukkitKit is an API for Bukkit/SpigotAPI using the cool and nifty features Kotlin has to make your life more easier.
|
|
|
|
### Contents:
|
|
|
|
* [Documentation](https://red-tea.gitbook.io/kotlinbukkitkit)
|
|
* [IDEA Plugin](https://github.com/CarcadeX/KotlinBukkitKit-Tooling)
|
|
|
|
|
|
# Samples
|
|
|
|
## [We have more Samples in the Documentation](https://red-tea.gitbook.io/kotlinbukkitkit)
|
|
|
|
KotlinBukkitAPI goes beyond this samples, and you can find all of it in the [wiki/documentation](https://red-tea.gitbook.io/kotlinbukkitkit).
|
|
|
|
Event DSL sample
|
|
```kotlin
|
|
plugin.events {
|
|
event<PlayerJoinEvent> {
|
|
player.msg("&3Welcome ${player.name}".translateColor())
|
|
}
|
|
|
|
event<PlayerQuitEvent> {
|
|
broadcast("&eThe player &c${player.name} &eleft :(".translateColor())
|
|
}
|
|
}
|
|
```
|
|
|
|
Simple Command DSL example
|
|
```kotlin
|
|
plugin.simpleCommand("hi") {
|
|
sender.msg("&eHallo".translateColor())
|
|
}
|
|
```
|
|
|
|
Item meta DSL and other stuff
|
|
```kotlin
|
|
val gem = item(Material.DIAMOND).apply {
|
|
amount = 5
|
|
meta<ItemMeta> {
|
|
displayName = "&bGem".translateColor()
|
|
}
|
|
}
|
|
val encbook = item(Material.ENCHANTED_BOOK).meta<EnchantmentStorageMeta> {
|
|
displayName = "&4&lThe powerful BOOK".translateColor()
|
|
addStoredEnchant(Enchantment.DAMAGE_ALL, 10, true) // putting sharpness 10 to the book
|
|
}
|
|
```
|
|
|
|
Another approach:
|
|
```kotlin
|
|
val gem = item(Material.DIAMOND, amount = 5).displayName("&bGem".translateColor())
|
|
|
|
val encbook = metadataItem<EnchantmentStorageMeta>(Material.ENCHANTED_BOOK) {
|
|
displayName = "&4&lThe powerful BOOK".translateColor()
|
|
addStoredEnchant(Enchantment.DAMAGE_ALL, 10, true) // putting sharpness 10 to the book
|
|
}
|
|
```
|
|
|
|
|
|
|
|
## IDEA Plugin - project wizard
|
|
|
|
You can find it on a <a href="https://plugins.jetbrains.com/plugin/24043-kotlinbukkitkit-tooling">official plugin page</a>
|
|
<img src="https://red-tea.gitbook.io/~gitbook/image?url=https:%2F%2F630270463-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F1PBqxCHnbDKJwzj8IhJk%252Fuploads%252Fo2jPveKWzw47uGTxMm2Q%252Fimage.png%3Falt=media%26token=403c70a1-fa12-435d-99c2-aab79493de97&width=768&dpr=4&quality=100&sign=5ca18a6e18c88ceb0b5a355577cfb45cadea88b46003ac032ac4f52d7cfe52b0">
|