Skip to content

Latest commit

 

History

History
60 lines (46 loc) · 931 Bytes

File metadata and controls

60 lines (46 loc) · 931 Bytes

DevCore Event

[English] | [日本語]

DSL for defining Bukkit events concisely and type-safely.

Features

  • Intuitive DSL for registering events
  • Easy-to-use filters and conditions
  • Automatic unregistration support
  • Grouping multiple events

Install (Gradle Kotlin DSL)

dependencies {
  implementation("com.peco2282.devcore:event:<version>")
}

Usage

Basic Event Listener

on<PlayerJoinEvent> {
  handle {
    player.sendMessage("Welcome!")
  }
}

Advanced Usage

on<PlayerInteractEvent> {
  filter { action.isLeftClick }
  once() // Only triggered once
  handle {
    player.sendMessage("Left clicked!")
  }
}

Event Groups

val group = events {
  on<PlayerJoinEvent> {
    handle { player.sendMessage("Hello!") }
  }
  on<PlayerQuitEvent> {
    handle { println("${player.name} left.") }
  }
}

// Later
group.unregisterAll()