Skip to content

CraftersLife-Dev/paper-plugin-template

Repository files navigation

Paper Plugin Template

CraftersLifeの未来ある若者のために作った高機能テンプレート

右上の [use this template] を押せばテンプレートを使用可能

Gradle プラグイン

  • 概要: 全クラスのソースコードに一括でライセンスヘッダーを挿入
  • メリット: IntelliJ IDEAなどのIDEで個別に設定する手間を省き、開発環境が変わっても一貫したライセンス管理が可能
    • 押したら俺のライセンスが全部消えるというすぐれもの!gitに残るから別にいいよ
  • 概要: Paperプラグイン実行時に必要な依存関係を解決する
  • メリット: PluginLoader の仕組みを利用してプラグインの依存関係を動的に解決可能
  • 概要: paper-plugin.yml をビルドスクリプトで定義
  • メリット: 設定ミスの削減と管理の簡略化
  • 概要: IDE上で Paperサーバーを実行
  • メリット:
    • サーバー起動だけでプラグインのテストが可能
    • 依存プラグインを自動インストール
    • ホットスワップでサーバー起動中にコードの変更が可能
  • 概要: コード品質を一定水準に保つ
  • メリット: 設計上の問題検出、コードレイアウトやフォーマットがコーディングスタイルに準拠しているかのチェックが可能
    • 波括弧のインデントを揃える人間はストレスで病む

Java ライブラリ

  • 概要: 説明不要
  • メリット:
    • サーバー起動前に設定やデータベースなどのリソースを初期化可能
      • Bukkitの一部API(例: ServerItemStack)は、 JavaPlugin#onEnable 以降での呼び出しが必須であることに注意が必要
      • JavaPluginの具象クラスの初期化もコントロール可能
    • MojangのBrigadierを基にしたコマンドの登録
    • レジストリの編集(現状はエンチャントのみ対応)
    • 実行時に必要なランタイムを自動ダウンロード
    • カラーコードを駆逐せよ
  • 概要: SpongePoweredが開発した設定ライブラリ
  • メリット:
    • Javaオブジェクトと設定ファイルの相互変換
    • カスタムType Serializerによる文字列変換
  • 概要: MiniMessageのプレースホルダーを拡張するライブラリ
  • メリット:
    • 他プラグインが提供するタグを利用可能
    • 他プラグインに提供するタグを登録可能
    • PlaceholderAPI拡張もあるよ
  • 概要: メッセージをDRYに管理できるライブラリ
  • メリット:
    • インターフェースを定義するだけでリソースバンドルを生成可能
    • インターフェースのプロキシインスタンスを生成可能

About

CraftersLifeで使うPaperプラグインのテンプレート

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages