Sponge Plugin 製作メモ [1. 初期設定と起動・終了時の処理、文字の出力]
まず、主となるクラスの前に注釈@Pluginをうつ。
IDと名前とバージョンを適当に設定。
@Plugin(id = "example", name = "Example", version = "1.0")
次にサーバー起動・終了時の処理について。
起動・終了時の処理を記述するにはそれぞれGameStartedServerEventとGameStoppedServerEventのリスナーを実装する。
@Listenerpublic void onServerStart (GameStartedServerEvent event){
//something...
}
@Listener
public void onServerStop (GameStoppedServerEvent event){
//something...
}
別クラスに書かない場合はこのような記述になる。別クラスに分けて記述することも可能だがスタートストップ(サーバーのライフサイクル処理)ぐらいはメインのクラスに記述したほうがわかりやすい気がする。
次に文字出力の設定ですが、単純に標準出力を使うことも出来るには出来る。
実際に使ってみた
@Listenerpublic void onServerStart (GameStartedServerEvent event){
System.out.println("HelloWorld!");
}
[10:55:06] [Server thread/INFO] [STDOUT]: [com.github.gurapomu.example.Example:onServerIStart:40]: HelloWorld!
非常に長ったらしいし読みづらい。
Spongeが提供するログ出力を使用するには以下のように記述する。
Logger logger;@Inject
private void setLogger(Logger logger){
Example.logger = logger;
}
public void onServerStart (GameStartedServerEvent event){
logger.info("Enabling Example Plugin v1.0");
}
[10:55:06] [Server thread/INFO] [example]: Enabling Example Plugin v1.0
スッキリした。
今回はここまで
MCLT for Sponge公開!
ようやくリリースです。
[Sponge 1.8]MCLogTweet for Sponge
とりあえずログイン・ログアウト時、サーバー起動時・終了時のツイート、コマンドによるツイート機能が実装してあります。
アップデート報告はおそらくこちらではしないのでご利用の方、フォーラムを御覧ください。
MCLT for Sponge進捗。
鋭意製作中で軌道に乗ったので、近日中に初期のMCLTの頃の機能だけつけて公開しようと思います。
まだSpongeAPI周りに慣れてないのでなんかつっかかったら遅くなるかもしれない。
あと英語のドキュメント読むのツライ
頑張ります
Spongeプラグインの開発環境をつくる[SpongeAPI編]
10/13追記
※Forgeサーバー構築してでSpongeをModとして導入するほうが楽っぽい(?)
Forgeサーバーの建て方はいろんなところで解説されてるので割愛します。
サーバー構築後modsファイルにSpongeCoremodをコピーするだけです。
前回から日が開いてしまって申し訳ないです。
前回:Spongeプラグインの開発環境をつくる[Sponge server構築編]
mcltをspongeに移植しようとしてたら意外とまだ中身整ってないっぽくて苦戦してました。
というわけでEclipseで開発環境を構築していきます
といってもEclipseでgradleプロジェクトを作成して
repositories {
mavenCentral()
maven {
name 'Sponge maven repo'
url 'http://repo.spongepowered.org/maven'
}
}
dependencies {
compile "org.spongepowered:spongeapi:1.0"
}
これをbuild.gradleに書いてから
でいろいろやってくれる。$ gradle build
これでプロジェクトをリフレッシュすればおk
今度はチュートリアルみたいの書いていこうかなぁ
CraftBukkit更新停止に伴う代替Modの紹介 -Sponge-
気付かないうちにCanaryModも旬を過ぎていたみたい
今話題なのはSpongePoweredらしい。(リリースされているとは言ってない)
イメージとしてはForgeの下で動くbukkitみたいな感じ(?)
使ってみたかったら自分でビルドしてって感じみたい。ありがたいことにgradleでビルドできるからやろうとしたんだけどなんかforgeBinを落とすところで403エラーが出て落ちる。
gradleわかるってわけではないのでもうちょっとお勉強してからビルドできたらまた追記なり別記事にまとめるなりしたい。(更新頻度が高くてgit cloneするタイミングが悪いとビルドが通らないことがまれによくあるらしい)
SpongePowered公式
https://www.spongepowered.org/
SpongePowered-Github
CraftBukkit更新停止に伴う代替Modの紹介 -CanaryMod-
bukkitがDMCAに引っかかって公開を停止してしまった。
https://bukkitwiki.jp/DMCA/%E7%B5%8C%E7%B7%AF
これが解決されない限り更新再開はありえないだろう、ということでMinecraft日本フォーラムでは躍起になってbukkitの代替サービスを探している。
いま話題に上がっているのがCanaryMod、こいつはbukkitの前に流行ってたサーバーModのhModってやつを引き継いで開発しているModだそうだ。
CanaryMod公式HP
マインクラフト非公式日本ユーザーフォーラム "Craft bukittのサーバー構築不可に伴う代替Mod(Canary mod)について"
http://forum.minecraftuser.jp/viewtopic.php?f=38&t=22981
そんなこんなで今日はCanaryModのサーバー構築について話そうと思う。
サーバー構築といってもそんな大変なことをするわけではなくやることはほとんどCraftBukkitのときと変わらない(はず)。
まずはCanaryMod公式HPからJarファイルをダウンロード。プレイしたいバージョンに応じて好きなのをダウンロードしてほしい。
Jarファイルをダウンロードして適当な場所に設置したら起動ファイルをつくる
Mac - build.sh
#!/bin/bash
cd "$( dirname "$0" )"
java -Xmx1024M -jar CanaryMod.jar
Linux - build.sh
#!/bin/sh
BINDIR=$(dirname "$(readlink -fn "$0")")
cd "$BINDIR"
java -Xmx1024M -jar CanaryMod.jar
Windows - build.bat
java -Xmx1024M -jar CanaryMod.jar
PAUSE
こんなところだろうとおもう。
1.7.10以降のバージョンをダウンロードした場合は一度起動した後、eula.txtの中身のURLのページをよく読んで
eula=true
に書き換えてからリロードしよう。
お目当てのプラグインはCanaryMod公式HPのGet Pluginsページから探してDLできるはず。
サーバーの設定ファイルはCanaryMod.jarを設置したディレクトリに生成されるconfigディレクトリにある。ゲームの中身の設定はワールドごとに区切られててそれぞれ設定できるのかもしれない。(時間があったら誰か試してみてくれ)
Canaryっていうのはそのまんまカナリアっていう意味らしいぞ