sysnote8's blog

マイクラのプラグインに関するGradleのメモ

· #minecraft #gradle #papermc

完全に個人的なメモです。

っていうのがあるとは思いますが、プラグイン開発はまだまだ初心者なので... お手柔らかにお願いします。

よく使うGradle Plugin

よく参考にするサイト

対応してないJavaバージョンでサーバーを動かしたい

Jarファイルを実行している場合

-DPaper.IgnoreJavaVersion=trueをJVM引数に入れればいけるかも (もちろん、入れているプラグインのビルド時のJavaバージョンとの競合で動かない場合もある)

run-paperの場合

ignoreUnsupportedJvm()を使えば、上記のオプションを引数に入れたことと同じになって、デバッグ時にも対応してないJavaバージョンで起動できる。

tasks.runServer {
	minecraftVersion("x.x.x")
	ignoreUnsupportedJvm() // <- これ
}

PaperAPI(1.15.2)が依存関係に入らない...

エラー例

> 	Could not resolve net.md-5:bungeecord-chat:1.15-SNAPSHOT.

原因

こんな感じのエラー(上記)が出ていれば... 多分、maven centralに公開されているbungeecord-chatが壊れてるからだと思います。 (なぜか、bungeecord-chatのpomが取得できないっぽい...?)

解決策

  1. repositoriesの一番上にpapermcのリポジトリをもってくる
  2. mavenCentralのcontentブロック内で除外設定をする
    • excludeModule("net.md-5", "bungeecord-chat")excludeGroup("net.md-5")を使えばいい感じになると思います。

CI経由のリリース時にバージョンを変えたい

  1. CI環境変数があるなら、VERSION環境変数を参照するようにする
version = if (System.getenv("CI") == "true") {
    // If in CI environment, it requires VERSION from env.
    System.getenv("VERSION") ?: error("Failed to get version from environment")
} else {
    "0.1.0-SNAPSHOT"
}
  1. gradle.propertiesを書き換える
    • git commitとかしたいなら、これもいいかもしれない...? (やったことないけど)