【SpongeDocsの翻訳者募集中】SpongePowered 情報【5/3開発版公開】

クライアント/サーバーMODの開発に関する話題、技術交換はこちらで。質問は質問フォーラムへお願いします。
  • (PostNo.212917)

【SpongeDocsの翻訳者募集中】SpongePowered 情報【5/3開発版公開】

投稿記事by takuyan020 » 2015年1月20日(火) 21:34

かなり不定期にですが Spongepowered の情報をお届けしています


● とりあえず Sponge に興味のある人向け
Q. もう完成してるんですか?
A. まだ完成していません、5/3に開発版がリリースされました
これは開発者向けのリリースなので、実際の運用向きではありません
まだプラグインも出そろっていませんので、運用者側の方は今しばらくお待ちください
プラグイン開発者の方は Sponge での開発に興味を持っていただけるとうれしいです

Q. 分かりやすい解説サイトはありませんか?
A. 公式が準備中です >> Sponge docs
docs とは、取扱説明書的なドキュメントです
英語の原文もまだ完全しておらず、
日本語版はまだ翻訳が追いついていません
翻訳が進めば分かりやすいドキュメントになると思いますので
自分もあまり手が回ってないので翻訳者の方が増えてくれるとありがたいです
下記のサイトから翻訳ボランティアとして参加することができます
crowdin / Sponge docs
※crowdin はオープンソースプロジェクトの場合、無料で利用、翻訳ボランティアを募ることが可能です
※Github や google 等のアカウントで連携可能ですのですぐ翻訳に参加できます



● サーバ運営者向け
Q. bukkit プラグインはそのまま使えますか?
A. 基本的には使えません、直接の互換性はありません
※どちらにも対応させて作る事自体はできますので両方に対応するプラグインは出てくると思われます
※bukkit プラグインとして作られたものは sponge 鯖では動きません

Q. plugin フォルダがありません、何処にプラグインを入れればよいですか?
A. プラグインは Mods フォルダに入れてください

Q. コンフィグファイルは流用できますか?
A. 基本的には使えません、Yaml形式からHOCON形式になります
※独自の設定ファイルを使用しているもや、自動変換を仕込んでくれているプラグインがあればその限りではありません
まだドキュメントが用意されてないので詳細不明ですが、いち早くリリースされた PermissionsEx の Sponge 版には自動変換機能がつくいてる・・・かも



● プラグイン開発者向け
Q. 本格的なプラグイン開発進められますか?
A. 開発版がリリースされたので、そろそろ開発に着手しても良いころですが、まだバグも多いので、Sponge側のバグか、自分のミスかは注意してください

Eventを起点にする場合も結構多いと思いますが、
5/29現在、開発版と言えど思ったより未実装多いですね
実装状況は以下のリンクで確認できます
https://github.com/SpongePowered/Sponge/issues/274

Q. bukkit API との互換性はありませんか?
A. 互換性はありません。しかしながら、多くのメソッドで同じメソッド名を用意してくれています

Q. とりあえず Sponge サーバの実行環境が欲しいのですがどうしたらいいですか?
A. sponge downloads の main のボタンで jar ファイルがダウンロードできますので、対応した Forge サーバの mods フォルダに入れて Forge サーバを起動してください
※簡単な見方
Sponge のファイル名 sponge-1.8-1371-2.1DEV-437
緑(1.8):Minecraft のバージョン
赤(1371):Forge のビルドナンバー
橙(2.1):SpongeAPI のバージョン
青(437):Sponge のビルドナンバー

Q. eclipse からサーバを起動したいのですがどうしたらいいですか?
A. 簡単メモ ※ローカルなやり方
 ① Sponge/SpongeCommon/SpongeAPI をDLする

 ②1. 解凍した Sponge 内の SpongeCommon フォルダに SpongeCommon の解凍したものを入る
  2. さらに SpongeCommon 内の SpongeAPI フォルダに SpongeAPI を解凍したものを入れます

 ③ eclipse から起動する
  1. 適当なbatファイル作って gradle setupDecompWorkspace --refresh-dependencies を起動、ワークスペースを作成する
  2. eclipse に Gradle の plugin が入ってなかったら、インストールする
  ※ 一番メジャーな奴でいいと思う
  3. gradle プロジェクトとしてインポートする
  4. 実行の構成から GradleStartServer 用のものを作る
  ※ 引数に -Dfml.coreMods.load=org.spongepowered.mod.SpongeCoremod を入れる
  ※ 作業フォルダは適当に指定しておく、デフォルトだと直下にぶちまけてしまうのでファイルがごちゃごちゃする
※開発環境がJava1.6なのに、起動が1.8じゃないと起動できなくなった、一時的かも?

Q. 自分で Sponge サーバの実行環境をビルドしたい場合はどうしたらいいですか?
A. ① は上記同様
 ② gradle をインストールしてない人は gradlew.bat 一度叩くと gradle がインストールされる

 ③-1 gradlew.bat をもう一度叩くと build される
 ※ SpongeAPI だけ欲しい人はSpongeAPIの中にある gradlew.bat を叩けばいい
 ※ うまくいかない人は JAVA_HOME の通し忘れだと思う1.6なので注意
 ※ 更新が多いのでタイミングが悪いとビルドが通らないことが稀によくあります

 ③-2 eclipse の Gradle ビルドを実行する

Q. Sponge サーバは Forge サーバのModですか?
A. 最初は Forge の Mod として作成されていますが、今後さまざまなサーバにも対応される予定になっています
現在は Forge サーバのほかに Vanilla サーバ用の SpongeVanilla の準備が進んでいます

Q. とりあえずプラグインの開発環境を作るにはどうしたらいいですか?
A. API に沿っていれば動きますので自分のプロジェクトの作り方の好みでどうぞ

 1. 上記の spongeAPI の jar ファイルをインポートする

 2. 上記の spongeAPI プロジェクトをインポートする

 3. Gradle プロジェクトで開発する人はコレ
コード: 全て選択
repositories {
    mavenCentral()
    maven {
        name 'Sponge maven repo'
        url 'http://repo.spongepowered.org/maven'
    }
}

dependencies {
    compile "org.spongepowered:spongeapi:1.0"
}


 4. Maven プロジェクトで開発する人はコレ
コード: 全て選択
<repositories>
    <repository>
        <id>sponge-maven-repo</id>
        <name>Sponge maven repo</name>
        <url>http://repo.spongepowered.org/maven</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>org.spongepowered</groupId>
        <artifactId>spongeapi</artifactId>
        <version>1.0</version>
    </dependency>
</dependencies>

Q. どのようにコーディングすればよいですか?
A. 徐々にチュートリアルが増えていっています
基幹部分の仕様についてはSponge Docs に書かれています >> Sponge docs / plugin
※徐々に動くものが増えていっていますが、開発版につきバグは多めとなっています

Q. 予習しておきたい事はありますか
A. 知らない方は Bulder パターン について知っておいた方がよいかもしれません
bukkit の時は、花火の生成時に利用するぐらいでしたが、Sponge では、プレイヤに任意の文章を表示させたいときや、アイテムを生成する場合に必要になり、頻繁に使うことが予想されます
※パッケージの組換えも激しいのでまだ確定ではないかもしれません
プラグイン初心者でも使用することになると思われますので、Builderパターンを知らないと文字の表示だけで躓く事になりかねません
wikipedia.org / Builderパターン
たとえば文字列について、具体的には
赤文字白文字水色文字
のような色文字を表記したい場合
コード: 全て選択
Text text = Texts.builder("赤文字").color(TextColors.DARK_RED)
      .append(Texts.builder("白文字").color(TextColors.WHITE).build())
      .append(Texts.builder("水色文字").color(TextColors.AQUA).build())
      .build();
Server#broadcastMessage(Text); or Player#sendMessage(Text);

のような使い方になります
めんどくさいですが、関数をうまく利用すると色々な実装を考えられるので面白いです

めんどくさい方は、
コード: 全て選択
Text text = Texts.of("§c赤文字§f白文字§b水色文字");
Server#broadcastMessage(Text); or Player#sendMessage(Text);

のように、そのままテキストからTextsオブジェクトが用意されました
従来通りの『§』は使えるので一発で入れてやればよいです


リンクまとめ
公式サイト : spongepowered.org
取説サイト : sponge docs
DLサイト:sponge downloads
フォーラム : sponge forum
ソースコード : github / spongepowered
取説ローカライズプロジェクト : crowdin / Sponge docs


更新ログ
2015/05/30 ちょっと文章修正
2015/05/02 開発版リリースにより文章修正
2015/03/30 進捗に合わせて?文章修正
2015/02/12 ローカライズのサイトの変更&進捗に合わせて?文章修正
2015/01/25 文章修正
最後に編集したユーザー takuyan020 [ 2015年5月29日(金) 09:35 ], 累計 6 回
《 主な生息場所 》 ※社畜業が忙しく思うように動けませんが、細々と活動してまいります
非公式フォーラム内記事:〈自作建築系 plugin 集 / 影mod 関連 / Sponge 情報※さぼり中〉
外部:ニコ動コミュ〈co2291695〉 / Sponge ローカライズ〈Crowdin : Sponge Docs〉 ※復帰したい翻訳者増えてくれー
アバター
takuyan020
ID:da2777d2
石掘り
 
記事: 132
登録日時: 2012年3月02日(金) 19:49

  • (PostNo.230120)

Re: 【SpongeDocsの翻訳者募集中】SpongePowered 情報【5/3開発版公開】

投稿記事by takuyan020 » 2015年5月04日(月) 00:17

開発版がついにリリースされました
《 主な生息場所 》 ※社畜業が忙しく思うように動けませんが、細々と活動してまいります
非公式フォーラム内記事:〈自作建築系 plugin 集 / 影mod 関連 / Sponge 情報※さぼり中〉
外部:ニコ動コミュ〈co2291695〉 / Sponge ローカライズ〈Crowdin : Sponge Docs〉 ※復帰したい翻訳者増えてくれー
アバター
takuyan020
ID:6ca2af0f
石掘り
 
記事: 132
登録日時: 2012年3月02日(金) 19:49


Return to 開発関連

x