純規の暇人趣味ブログ

手を突っ込んで足を洗う

[Bukkit/Spigot]Dynmapにレイヤーを追加する方法

      2016/02/22    HimaJyun

こん、マイクラ鯖缶のHimaJyunです。

マイクラ鯖で良く利用されているDynmap
一部のサーバではレイヤが追加されていますが、やり方を調べてもなかなかヒットしません。

調べ方が悪かったのかも知れませんが、求めている情報になかなか辿り着けなかったので、今回はこの情報を求めている方のために、レイヤを追加する方法をご紹介します。

レイヤ=セット

まず最初に、レイヤとは以下の事です。
bukkit-dynmap-add-layer_001

このチェックボックスにチェックしたり、外したりする事でマーカーの表示/非表示が切り替えられますね。
マルチサーバによっては、鉄道や駅など、分かりやすく追加している所もあります。

これらの機能はどうやら「セット」と呼ぶ様です。
今回はこのセット(今回はレイヤと説明します)を以下の画像の様に追加します。
bukkit-dynmap-add-layer_002

追加したレイヤはdynmapディレクトリの中の「markers.yml」に保存されます。

レイヤを追加する

追加するだけならばとても簡単!!、以下のコマンドを利用するだけです。
(<>=必須,[]=任意)

「/dmarker addset <ラベル> [id:<ラベル名>]」

ラベルは表示名、IDは表示されない名前の様なモノです。
「/dmarker addset ラベルA」だけでも登録は可能ですが、管理しやすくなるので個人的には「/dmarker addset ラベルA id:LabelA」と登録するのがおススメです。(IDは日本語を使わない方が良いでしょう)

例えば、ラベル:駅、ID:Stationのレイヤを追加する場合は以下のコマンドです。
「/dmarker addset 駅 id:Station」

このコマンドを実行すると以下の画像の様に「駅」と言うレイヤが追加されます。
bukkit-dynmap-add-layer_003

デフォルトで非表示

これでレイヤの追加自体は出来たのですが、
例えば大量のマーカを追加する場合などはこのままでは見辛くなってしまいます。

その様な場合は、デフォルトで非表示にして、ユーザが任意で表示する様にするのがおススメです。
デフォルトで非表示にするには「hide:true」をコマンドに追加するだけです。

例えば、「ラベル:あああ、id:LabelA」と言うデフォルトで非表示のレイヤを追加する場合は以下のコマンドです。
「/dmarker addset あああ id:LabelA hide:true」

このコマンドを実行すると、デフォルトで非表示の「あああ」と言うレイヤが追加されています。
bukkit-dynmap-add-layer_004

レイヤを消す

登録したものの、やっぱり要らなくなったレイヤは削除したいですよね。
その様な場合は以下のコマンドです。

「/dmarker deleteset <ラベル|id:ID>」

例えば、先程追加した「あああ」レイヤを削除する場合は以下のコマンドです。
「/dmarker deleteset あああ」

もしくは、以下のコマンドでIDを指定して削除出来ます。
「/dmarker deleteset id:LabelA」

このコマンドを実行すると、「あああ」レイヤが削除されます。
bukkit-dynmap-add-layer_003

レイヤを更新する

例えば、「/dmarker addset 抜群 id:Preeminent」と登録しようとしたところ、
間違えて「/dmarker addset ばつ牛ン id:Preeminent」と登録してしまったとします。
bukkit-dynmap-add-layer_005

すぐに気が付いた時は削除して登録し直せば良いのですが、気付くのが遅れて既にそこにマーカを追加してしまった場合はそうも行きません。
(レイヤを削除するとそこに登録されているマーカも削除されてしまいます。)

その様な場合は以下のコマンドです。
「/dmarker updateset id:<ID> newlabel:<新しいラベル>」

今回の場合はこうですね。
「/dmarker updateset id:Preeminent newlabel:抜群」

もし、「/dmarker addset ばつ牛ン」と登録した(IDを設定しなかった)場合は
「/dmarker updateset id:ばつ牛ン newlabel:抜群」

このコマンドを実行すると、ラベルがnewlabelに置き換わります。
bukkit-dynmap-add-layer_006

後から非表示にする

同じ要領で既存のレイヤを後から非表示にする事が出来ます。

その場合は以下のコマンドです。
「/dmarker updateset id:<ID> hide:true」

先程の抜群を非表示にしてみます。
「/dmarker updateset id:Preeminent hide:true」

このコマンドを実行すると、デフォルトで非表示に出来ます。
bukkit-dynmap-add-layer_007

もし、非表示にしたレイヤを元に戻したい場合は
「/dmarker updateset id:<ID> hide:false」です。

レイヤのリストを表示

レイヤのIDや詳細な設定が分からなくなった場合は以下のコマンドで一覧を表示しましょう

「/dmarker listsets」

レイヤにマーカを追加する

レイヤを追加するだけではクソの役にも立ちません。
やはりそのレイヤにマーカを追加してこそのレイヤです。

と言ってもそう難しくはありません、マーカを追加するコマンドに「set:<ID>」を追加するだけです。

例えば、「/dmarker add aaa あああ」だとMarkersに登録されてしまいます。
これをID:aaaのレイヤに登録する場合は「/dmarker add aaa あああ set:aaa」です。

簡単ですね!!

コマンドのPermission

これらのレイヤを追加するコマンドにもPermissionが存在します。
Permissionは適切に設定しましょう。

コマンド Permission デフォルト
/dmarker addset dynmap.marker.addset OP
/dmarker deleteset dynmap.marker.deleteset OP
/dmarker updateset dynmap.marker.updateset OP
/dmarker listsets dynmap.marker.listsets 全員

 - サーバ運営