Skip to content

peco2282/Adventure

Repository files navigation

Adventure DSL

License Kotlin

Adventure テキストコンポーネントを Kotlin で直感的に記述するための DSL ライブラリです。

特徴

  • 宣言的な記述: ネストされたコンポーネントを型安全で読みやすく作成できます。
  • 直感的なスタイル指定: 色や装飾(太字、斜体など)をメソッドチェーンやブロックで簡単に指定可能です。
  • Adventure 互換: Kyori Adventure の Component クラスを直接生成するため、既存のプロジェクトに簡単に導入できます。
  • 高度な機能のサポート: 翻訳(Translatable)、NBT(Block/Entity)、イベント(Click/Hover)などをフルサポートしています。

導入方法

Gradle (Kotlin DSL)

repositories {
    maven("https://repo.peco2282.com/maven-release/")
}

dependencies {
    implementation("com.peco2282:adventure:1.0")
}

使い方

基本的なテキスト

val msg = component {
    text("Hello")
    space()
    text("World") {
        blue()
        bold()
    }
}

スタイルとイベント

val msg = component {
    text("ここをクリック") {
        aqua()
        underline()
        clickEvent(ClickEvent.openUrl("https://example.com"))
        
        showText {
            text("ウェブサイトを開きます") { yellow() }
        }
    }
}

翻訳と引数

val msg = component {
    translatable("welcome.user") {
        text("Peco") { gold() }
    }
}

反復処理 (forEach)

val items = listOf("Apple", "Banana", "Orange")
val msg = component {
    text("Fruits: ")
    forEach(items) { item ->
        text(item)
        if (item != items.last()) text(", ")
    }
}

NBT コンポーネント

val msg = component {
    blockNbt("Items[0].id") {
        absoluteWorldPos(10, 64, -10)
        interpret(true)
    }
}

ライセンス

このプロジェクトは Apache License 2.0 の下で公開されています。

Releases

No releases published

Packages

 
 
 

Contributors

Languages