Sponge Plugin 製作メモ [1. 初期設定と起動・終了時の処理、文字の出力]

まず、主となるクラスの前に注釈@Pluginをうつ。

IDと名前とバージョンを適当に設定。

@Plugin(id = "example", name = "Example", version = "1.0")

次にサーバー起動・終了時の処理について。

起動・終了時の処理を記述するにはそれぞれGameStartedServerEventとGameStoppedServerEventのリスナーを実装する。

@Listener

public void onServerStart (GameStartedServerEvent event){

//something...

}

@Listener

public void onServerStop (GameStoppedServerEvent event){

//something...

}

別クラスに書かない場合はこのような記述になる。別クラスに分けて記述することも可能だがスタートストップ(サーバーのライフサイクル処理)ぐらいはメインのクラスに記述したほうがわかりやすい気がする。

次に文字出力の設定ですが、単純に標準出力を使うことも出来るには出来る。

実際に使ってみた

@Listener

public 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

とりあえずログイン・ログアウト時、サーバー起動時・終了時のツイート、コマンドによるツイート機能が実装してあります。

アップデート報告はおそらくこちらではしないのでご利用の方、フォーラムを御覧ください。

次回以降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

今度はチュートリアルみたいの書いていこうかなぁ

Spongeプラグインの開発環境をつくる[Sponge server構築編]

先日紹介したSponge、Eclipseで開発環境を構築できたので再びご紹介

CraftBukkit更新停止に伴う代替Modの紹介 -Sponge-

結局あのあとターミナルからビルドできないかと試行錯誤していたんだけど結局できなかったので今度はIntelliJでプロジェクトインポートしようとしたけどこれもなぜか出来ず、ダメ元でEclipseプロジェクトを作成してみると通ったのでその時の手順をメモがてら書いていこうと思います。

開発環境をつくるにもプラグインを動かすサーバーがないことにはいけないのでまずそれから

続きを読む

CraftBukkit更新停止に伴う代替Modの紹介 -Sponge-

気付かないうちにCanaryModも旬を過ぎていたみたい

今話題なのはSpongePoweredらしい。(リリースされているとは言ってない)

イメージとしてはForgeの下で動くbukkitみたいな感じ(?)

使ってみたかったら自分でビルドしてって感じみたい。ありがたいことにgradleでビルドできるからやろうとしたんだけどなんかforgeBinを落とすところで403エラーが出て落ちる。

gradleわかるってわけではないのでもうちょっとお勉強してからビルドできたらまた追記なり別記事にまとめるなりしたい。(更新頻度が高くてgit cloneするタイミングが悪いとビルドが通らないことがまれによくあるらしい)

SpongePowered公式

https://www.spongepowered.org/

SpongePowered-Github

https://github.com/SpongePowered/Sponge