[Minecraft]1.12対応のSpigot(Bukkit)を用意する
ぶっちゃけ書くことは毎回同じなので解説必要か?とも思っているのですが……一応書きましょうか。
Minecraft 1.12がやってきました(今忙しいのに……)、つまり更新作業をする時が来たという訳です。
スポンサーリンク
1.12?
1.12では色に関するブロック追加が多いです、レシピ本機能も色々楽になって良い感じです。
音ブロックの音色追加も某弾幕シューティングのBGMを再現したりする人にはありがたいでしょう。
まぁ、この辺りは記事にあまり関係ないので他所にお任せしましょう。
という訳でサーバですが、流石にBuildTools.jarでビルドするのが当たり前になった今、これの使い方を知らないという奴は居ないでしょう。
そのため「ビルドのやり方」は端折ります、知らない奴は1.11の時の記事でも読みやがれくださいですわぞよ。
ビルド
ここは毎度恒例ですしねぇ、もはや説明必要なのか疑問ですけど……
java -jar BuildTools.jar --rev 1.12
で1.12対応版Spigotがビルドされます。
難しい事ではないですね?
「BuildTools捨てちゃったよ」って人はダウンロードしましょう?
curl -LO https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
恒例なのでもはや難しい事ではないですね。
注意点
念のために今回も書いておきましょうか。
「○○からビルド済みのjarがDL出来る」みたいなのはやめましょう。
そもそも、このBuildToolsを使って自分でビルドするスタイルはCraftBukkitがライセンス的に「色々アレ」なためにDMCAで公開停止になったから始まったスタイルであり、それを誰かがビルド済み配布しちゃうと……ねぇ?
自分でビルドした物を使いましょう?わかった?バブバブ?
変更点
以下のページに書いてある事を翻訳斜め読みしています、読みたい方は原文へどうぞ。
- https://www.spigotmc.org/threads/bukkit-craftbukkit-spigot-bungeecord-1-12-pre6-released.240317/
- https://www.spigotmc.org/threads/bukkit-craftbukkit-spigot-bungeecord-1-12.246398/
全体的に、古いプラグインが容赦なく淘汰される風潮になってきた感じがします。
ありがたい限りです、古いは悪。(枯れてるのと古いのは違うぜ!!
Java8が必須に
Minecraft 1.12自体が最低でもJava8が必要になりました。(やったー!!
私のサーバはとっっっっっっっっっっくの昔にJava8なので無関係ですが、一部いつまでも前時代的なゴミバージョンをズルズルと引きずっているようなサーバには影響があるかも知れません。
とはいえ、Javaは後方互換性も高いですし、そのままJava8にしても爆死するような事はないと思います。
ようやくラムダ式が当たり前に使える時代になったのね、嬉しいわ。
ちなみにBungeeCordはまだJava7で動くらしいです、勘弁してくれ。
Guavaがバージョン21.0に
これもSpigotというよりMinecraft自体の変更みたいですが、Guavaのバージョンが新しい物になったみたいです。
これによって一部のプラグインは廃止予定のAPIを使用している可能性が出てきました。
動かないプラグインもあるかも?
SQLiteが3.18.0に
前回に引き続き内包しているSQLiteドライバが更新されました。
殆ど問題ないとは思いますが、プラグインが利用するSQLiteのデータベースファイルに変更が起こるかも?
気にしなくても良いかと思われる。
レガシーAPIが削除
毎度の事ですが、レガシーAPIが削除されたみたいです、つまり動かないプラグインが出てくる可能性がある。
サーバで一番影響が大きいのはここですね。
私のサーバでもいくつか動作しないプラグインが出てきました。
Ebean ORMが削除された
ほっっっっっとんど使われていなかったEbeanがBukkitから削除されました。
これが問題になる事はないと思います。(必要になる場合はプラグインに含めろとの事)
BukkitでSQLを使うとなれば「単純だけど速度が必要」みたいなことが多いでしょうし、ORMより自分でSQLを書いた方が良いと思います。(個人的な意見だよ)
名前にスペースを含むプラグインが使用不可に
プラグイン名にスペースを含むプラグインがロードされなくなったみたいです。
「プラグイン名に」なので、ファイル名に空白を含むとかはまだOKの模様。
普通の思考回路してたらプログラムで処理する部分に空白を含もうとは思わないよね?
最悪jarを解凍してplugin.ymlを書き換える荒業でどうにかなる気がしないでもない。(出来るとは言ってない
所感
プラグインで心置きなくJava8が使えるようになるのが最高です。
余談ですけど、私のサーバではいつも「どのタイミングでアップデートする?」みたいなアンケートを取っているんですよ。
何度か取りましたけど、毎回「Forge待ち」「Optifine待ち」を差し置いて圧倒的に「出来るだけ早く」な人が多いです。
もちろんこれはサーバの風潮や方針によって変わってくると思いますけど、一度ユーザにそういうアンケートを取ってみるのも面白いかも?