Atlas — PaperMC Brigadier向け基本コマンドライブラリ
概要
Atlasは「Basic command library for the modern PaperMC Brigadier API」というキャッチのとおり、PaperMCにおけるBrigadierベースのコマンド実装を簡素化するための軽量ライブラリです。JitPackを通じた配布とGradle(Kotlin/Groovy)での導入例がREADMEに示されており、アノテーション類を含む構成から、アノテーションベースでのコマンド定義やビルド時の統合を想定した設計が伺えます。ファイル数やコミット数は少なく、シンプルで導入しやすい点が特徴です。
リポジトリの統計情報
- スター数: 3
- フォーク数: 0
- ウォッチャー数: 3
- コミット数: 2
- ファイル数: 10
- メインの言語: Java
主な特徴
- PaperMCのBrigadier APIに合わせた軽量なコマンドライブラリ
- JitPack経由で簡単に導入できるGradle依存性(Kotlin/Groovy例あり)
- アノテーションを含む構成で、宣言的なコマンド登録をサポートする設計
- シンプルな構成ファイル(build.gradle.kts・annotationsディレクトリ)で拡張しやすい
技術的なポイント
AtlasはPaperMCで採用されているBrigadierコマンドフレームワークを前提に、プラグイン開発者がコマンドの定義・登録・解釈を容易に行えるようにすることを目的としています。Brigadier自体は構文木ベースのコマンド構築と高機能なパース機能を提供しますが、直接使うと定義が冗長になりがちです。Atlasはそのギャップを埋めるために、ライブラリ層での薄いラッパーやユーティリティを供給することで、定義のボイラープレート削減を図ります。
READMEにある導入例からは、配布がJitPackを介すること、そしてGradleのKotlin DSL/Groovy DSLいずれにも対応した依存指定が用意されていることが確認できます。プロジェクト構成にはannotationsディレクトリが含まれており、アノテーションベースでのコマンド定義(例えばメソッドに注釈を付けてコマンドを登録するスタイル)や、ビルド時に注釈プロセッサ/ランタイムでコマンド情報を収集する仕組みを想像させます。実運用では、PaperMCのプラグインライフサイクルに合わせてプラグイン有効化時にコマンドをBrigadierノードに登録し、無効化時にクリーンアップする形が自然です。
また、build.gradle.ktsやプロジェクトの小規模さから、Atlasは外部依存を最小限に抑えている可能性が高く、既存のプラグインに組み込みやすい設計です。JitPack利用により、Gitリポジトリのタグ/コミットを直接参照してバージョン管理できるため、開発中の迅速な取り込みやテストが容易になります。最後に、Brigadierの拡張点(引数パーサや補完)のラッパーを提供している場合、コマンド引数の型安全性やタブ補完などをより扱いやすくする点も期待できます。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitattributes: file
- LICENSE: file
- README.md: file
- annotations: dir
- build.gradle.kts: file
…他 5 ファイル
まとめ
軽量で導入しやすいPaperMC向けBrigadierコマンドライブラリ。拡張の土台として有用。
リポジトリ情報:
- 名前: Atlas
- 説明: Basic command library for the modern PaperMC Brigadier API
- スター数: 3
- 言語: Java
- URL: https://github.com/Summiner/Atlas
- オーナー: Summiner
- アバター: https://avatars.githubusercontent.com/u/77811772?v=4
READMEの抜粋:
Atlas
Basic command library for the modern PaperMC Brigadier API
Installation
Gradle (Kotlin)
repositories {
mavenCentral()
maven("https://jitpack.io")
}
dependencies {
implementation("com.github.Summiner:Atlas:1.0.0")
}
Gradle (Groovy)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.Summiner:Atlas:1.0.0'
}