1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ディメンジョンの読み込み順についてのメモ

Last updated at Posted at 2023-03-11

始まり

カスタムディメンジョンをMultiverseCore(以降mvc)で作成して、それらディメンジョン間を移動するためのプラグインを作成したのだが、どうにもうまく動作しない。

上手く動作しないというのは、mvc での設定が反映されていないディメンジョンに飛んでしまうというものだ。
(ディメンジョン名はmvc で作成した時と同じなのだが、ディメンジョンの環境設定だけが異なる)

原因

 テレポートをする際に、テレポート先のディメンジョンを読み込んでいないとディメンジョンのロードがかかり、タイムアウトで鯖から蹴られてしまう。
それを防ぐためにテレポートプラグインが起動する時点でWorldCreator を動かしてディメンジョンを読み込んでいた。
しかし、そのロード方法に問題があった。
WorldCreator#createWorld でディメンジョンをロードするといくつかのディメンジョン設定が無視されるようで、そのためにmvc で設定したものと異なる環境になってしまっていた。

"If the world already exists, it will be loaded from disk and some options may be ignored."

Spigot JavaDoc WorldCreator#createWorld()

対策

mvc がカスタムディメンジョンをすべて読み込んだ後にテレポートプラグインを起動するようにすればよいので、plugin.yml の softDepend に Multiverse-Core を記載した。
本来は依存するプラグインなどを記載し、依存先よりも先に読み込まれないようにするための設定だと思われるが、単に起動のタイミングを前後させているだけなのでこのような使い方もできるようだ。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?