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プラグイン製作のチュートリアルやら何やらメモ程度に書いていく予定。

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

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

bukkitがDMCAに引っかかって公開を停止してしまった。

https://bukkitwiki.jp/DMCA/%E7%B5%8C%E7%B7%AF

これが解決されない限り更新再開はありえないだろう、ということでMinecraft日本フォーラムでは躍起になってbukkitの代替サービスを探している。

いま話題に上がっているのがCanaryMod、こいつはbukkitの前に流行ってたサーバーModのhModってやつを引き継いで開発しているModだそうだ。

CanaryMod公式HP

http://canarymod.net/

マインクラフト非公式日本ユーザーフォーラム "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っていうのはそのまんまカナリアっていう意味らしいぞ