hayanasa’s Flower Factory

マイクラ建築勢向けのMOD/Plguin解説がメインです。8割自己満足です。引用などご自由にどうぞ。たまに関係ないことを書くかもしれません。

Sponge環境で複数ワールド管理を行う【Project Worlds解説】

こちらの記事は情報が古くなっております

新しいバージョンでコマンドの記法が大きく変わってしまい、こちらの記事で紹介している記法は使えません(そのうち新しい記事を出します)

 

以下の記事は「projectworlds-7.1.0-0.12.2」というバージョンの記事になります

 

 

サーバー内で複数のワールドを管理できるMultiverseというBukkitプラグインがありますが、それと類似した機能を持つSpongeプラグインProject Worlds」の解説記事になります。

 

できることは大体一緒ですし、ゲーム内解説が親切なので比較的容易に導入できると思いますが、日本語解説がないよりはあったほうが便利だろうということで軽い解説記事を書いてみました。

 

Sponge環境があることは前提として、「Project Worlds」及び「Project Core」の導入が必要です。

 

本記事で解説はしませんが「Project Portals」なんかも便利そう

 

 

なお、現状ではoverworldのワールドをimportするとどうしてもワールドの壁ができてしまうみたいです(情報求)

 

 

help機能

配布ページにコマンド一覧がありますが、とりあえず「/helpme world」を打ってみましょう。使えるコマンド一覧が出てきます。出てきた文字をクリックすると詳細を見ることができます。(チャット画面の緑色の文字をクリックしてから下にスクロールする)

 

緑色の文字以外でもマウスオーバーすると解説が表示されたりします。困ったらとりあえずテキストにカーソルを当ててみるといいと思います

f:id:hayanasa:20190131185548j:plain

 

ワールドの生成

/world createコマンドで新規ワールドを作成できます。とりあえず「/world create」とだけ打ってみると、赤文字でエラーが返されると思います。赤文字の各単語にカーソルを乗せると解説が出てきますし、「/helpme world create」と打ってみるとコマンド自体の解説もが出てきます。

 

とりあえず「flat」という名前のフラットワールドを新規作成したい場合のコマンドはこちら。

 

/world create flat -g minecraft:flat -df peaceful -gm creative -f false

 

これは「flatというワールド名」「地形の生成方法=フラット」「難易度=ピースフル」「ゲームモード=クリエイティブ」「構造物生成=オフ」という指定になります。

 

生成成功のメッセージが出たら、「/world load flat」コマンドでワールドのロードを行った後に「/world tp flat」で作ったワールドに飛べます。戻る場合は「/world tp world」です。

f:id:hayanasa:20190131193941p:plain

 

multiverseのmvtpとは違い、他人を別ワールドに飛ばすことができないのでコマンドブロックを踏むとワールド移動、みたいなことはできなさそうです。別プラグインのProject Portalsでできそうですが…力尽きたのでこの辺の検証はまた今度

 

余談ですが、ヘルプメッセージでもちらっとありますがsponge独自の地形生成で「skylands」というのが選べます。ちょっと楽しい

f:id:hayanasa:20190131193120p:plain

/world create ワールド名 -d minecraft:overworld -m sponge:skylands

 

他にもプラグインで追加できたりMODのが指定できたりするのかもしれないです。

 

ワールドごとに設定を行う

「/world properties ワールド名」でワールドの設定を見ることができます。

 

ワールドごとに天気や時間を固定したい場合は

「/world gamerule ワールド名 doDaylightCycle false」

「/world gamerule ワールド名 doWeatherCycle false」

などなど。他にもgameruleコマンドで設定できるものはこのコマンドで設定できます。

 

ワールドごとに時間を設定する場合は「/world time ワールド名 時間」といったコマンドもあります。

 

ワールドをインポートする

サーバーのフォルダにあるworldフォルダ内に、インポートしたいワールドを入れます(ThermosのMultiverseと同じ感じの仕様)

先ほど作ったワールドもここにあります。

f:id:hayanasa:20190131194817j:plain

ワールドファイルを入れたらimportコマンドを打ちます

/world import testWorld minecraft:overworld minecraft:flat

 

ワールドの壁がどうしても避けられないみたいなので、地形生成方式はdefault(overworld)じゃなくてflatにしてあります。(後述)

 

あとは上の項と同じように、作ったワールドを/world loadしてから/world tpしましょう。地中に埋まったりするので適当にtpしてから/world setspawnコマンドでスポーン地点を設定しましょう。あとはほかの細かい設定は上の項目と同じです。

 

importコマンドでワールドの壁ができてしまう?

overworld(フラットではない通常の地形生成)のワールドを読み込んだあとに未生成チャンクを読み込むととどうしても"ワールドの壁"が生成されてしまうみたいです。読み込みたいワールドがフラットワールドなら生成方法flatを選択して読み込めばいいので問題ないんですが…

 

どうもimportするときにシード値を含めたワールドの情報を読み込んでくれないみたいなんですよね、そもそもディメンジョンの種類と地形生成法を指定しないといけない時点で…。執筆段階ではまだ開発中らしいので今後修正されるでしょうか

 

考えられる対策としては、

・importする前にあらかじめ広めに生成しておいてから読み込む

・読み込む際に生成方法をminecraft:flatで指定する(地形生成されるよりはまだダメージが少なそう)

・ProjectWorldsを導入する前に、サーバーフォルダ内のwolrdデータを読み込みたいワールドに置き換えておく

 

三つめがいけるなら最善かと。ワールド一つ分しか使えませんが…

色々試したんですが完全な解決には至らず…情報お待ちしております

 

multiverseだとこのへんの仕様どうなってましたっけ(うろ覚え)