Files
KotlinBukkitKit/README.md
T
redtea 9655d10025 1.0.0.3 - new modules
Added utility, menu, thirdparty and exposed modules
A few little fixes
2024-03-28 10:12:38 +03:00

8.5 KiB

KotlinBukkitKit

KotlinBukkitKit is an API for Bukkit/SpigotAPI using features Kotlin. Thanks for DevSrSouza / KotlinBukkitAPI.

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/

KotlinBukkitAPI

KotlinBukkitKit

Kotlin version GitHub stars Github Issues GitHub last commit Discord MIT License

KotlinBukkitKit is an API for Bukkit/SpigotAPI using the cool and nifty features Kotlin has to make your life more easier.

Contents:

Samples

We have more Samples in the Documentation

KotlinBukkitAPI goes beyond this samples, and you can find all of it in the wiki/documentation.

Event DSL sample

plugin.events {
  event<PlayerJoinEvent> {
    player.msg("&3Welcome ${player.name}".translateColor()) 
  }
  
  event<PlayerQuitEvent> {
    broadcast("&eThe player &c${player.name} &eleft :(".translateColor())
  }
}

Simple Command DSL example

plugin.simpleCommand("hi") {
  sender.msg("&eHallo".translateColor())
}

Item meta DSL and other stuff

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:

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 official plugin page https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1PBqxCHnbDKJwzj8IhJk%2Fuploads%2Fo2jPveKWzw47uGTxMm2Q%2Fimage.png?alt=media&token=403c70a1-fa12-435d-99c2-aab79493de97